.tc{border:1px solid #e5e4eb;border-radius:16px;background:#fff;overflow:hidden}.tc-toolbar{padding:20px;display:flex;gap:18px;align-items:center;justify-content:space-between;flex-wrap:wrap}.tc h2{font-size:20px;margin:0}.tc p,.tc-dialog p{font-size:13px;line-height:1.65;color:#667472}.tc-actions,.tc-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.tc-tools{border-top:1px solid #eee;border-bottom:1px solid #e6e5ed;background:#faf9fc;padding:12px 20px}.tc button,.tc-dialog button{font:inherit;font-size:12px;border:1px solid #dedce6;border-radius:8px;padding:9px 12px;background:white;cursor:pointer;color:#344542}.tc button:disabled,.tc-dialog button:disabled{cursor:not-allowed;opacity:.65}.tc button:hover:enabled,.tc-dialog button:hover:enabled{border-color:#8553c9}.tc input,.tc select,.tc-dialog input,.tc-dialog select,.tc-dialog textarea{font:inherit;font-size:13px;border:1px solid #dcdbe2;border-radius:7px;padding:8px;color:#334945;background:#fff;max-width:100%;min-width:0}.tc-actions input{width:145px}.tc-actions select{width:100px}.tc-tools select{width:auto}.tc-scroll{overflow:auto;max-height:760px;overscroll-behavior:contain}.tc-grid{display:grid;min-width:100%;width:max-content}.tc-corner,.tc-day-heading{position:sticky;top:0;z-index:4;background:#f8f7fa;border-bottom:1px solid #dbd9e3;padding:14px 8px;font-size:12px;font-weight:700;text-align:center}.tc-corner{left:0;z-index:6}.tc-axis{height:1440px;position:sticky;left:0;background:#faf9fc;z-index:3;border-right:1px solid #e4e2eb}.tc-axis>span{position:absolute;left:0;width:100%;padding:2px 8px;text-align:right;font-size:11px;color:#7d7a87}.tc-day{position:relative;height:1440px;border-right:1px solid #e7e6ed;background:repeating-linear-gradient(180deg,transparent 0,transparent 29px,#f4f3f7 0,#f4f3f7 30px,transparent 0,transparent 59px,#e7e6ed 0,#e7e6ed 60px)}.tc .tc-block{position:absolute;min-height:20px;overflow:hidden;border-radius:6px;text-align:left;padding:5px 6px;display:flex;flex-direction:column;justify-content:flex-start;gap:4px;border:1px solid #cdbce7;background:#f2ecfc;color:#493369;font-size:11px}.tc-block strong{font-size:12px}.tc-block small{font-size:10px}.tc-block span{white-space:pre-line}.tc .tc-event{background:#fff4df;border-color:#e7c17b;color:#795012}.tc .tc-shift{background:#edf5f5;border-color:#aacbc9;color:#2b5552}.tc-footnote{padding:0 20px}.tc-dialog{width:min(720px,calc(100vw - 24px));max-height:85vh;overflow:auto;border:1px solid #dedce5;border-radius:18px;padding:24px;color:#29403c;box-shadow:0 20px 90px #182c3540}.tc-dialog::backdrop{background:#17283270}.tc-dialog header{display:flex;gap:16px;align-items:center;justify-content:space-between;margin-bottom:18px}.tc-dialog h2{font-size:21px;margin:0}.tc-dialog h3{font-size:15px;margin:22px 0 12px}.tc-assigned{padding:0;list-style:none}.tc-assigned li{display:flex;align-items:center;gap:8px;padding:10px 0;border-bottom:1px solid #eee}.tc-assigned strong{margin-right:auto;font-size:14px}.tc-people{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:16px 0;max-height:300px;overflow:auto}.tc-dialog .tc-person{text-align:left;padding:12px;display:flex;flex-direction:column;gap:6px}.tc-person small{font-size:11px}.tc-dialog .tc-green,.tc-green{background:#eaf6ed;color:#24633c;border-color:#a9d6b6}.tc-dialog .tc-yellow,.tc-yellow{background:#fff7db;color:#815c0d;border-color:#e6ce7f}.tc-dialog .tc-red,.tc-red{background:#fdebec;color:#9b3641;border-color:#e6b2b8}.tc-dialog .tc-person:disabled{opacity:1}.tc-normal{background:#f6f6f8!important;color:#60656c!important}.tc-legend{display:flex;flex-wrap:wrap;gap:6px}.tc-legend span{font-size:11px;border-radius:5px;padding:4px 7px}.tc-edit{margin-top:20px;padding-top:16px;border-top:1px solid #ddd}.tc-edit summary{cursor:pointer;font-weight:700;font-size:14px}.tc-form{display:grid;grid-template-columns:1fr 1fr;gap:14px}.tc-form label{display:flex;flex-direction:column;gap:6px;font-size:12px}.tc-form p{grid-column:1/-1}.tc-proposal{display:flex;align-items:flex-start;gap:10px;border-bottom:1px solid #eee;padding:12px 0}.tc-proposal small{display:block;margin-top:5px;font-size:12px}.tc-proposal input{width:17px;height:17px;accent-color:#7846c2}.tc-error,.tc-notice{padding:12px;margin:12px;background:#fff0f0;color:#9b3434!important;border-radius:8px}.tc-notice{background:#eaf6ed;color:#286340!important}.tc-dialog-error{position:fixed;bottom:14px;left:50%;transform:translateX(-50%);z-index:10000;background:#9b3434;color:#fff;padding:12px;border-radius:8px;max-width:90vw}.tc button:focus-visible,.tc-dialog button:focus-visible,.tc-dialog input:focus-visible{outline:3px solid #b492e6;outline-offset:2px}@media(max-width:700px){.tc-toolbar{padding:14px}.tc-tools{padding:12px}.tc-actions{gap:5px}.tc-scroll{max-height:65vh}.tc-dialog{padding:16px}.tc-form,.tc-people{grid-template-columns:1fr}.tc-dialog h2{font-size:18px}.tc-assigned{font-size:12px}}.wf-main.wf-schedule-main{max-width:1680px}.tc-dialog{margin:auto}.tc-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:16px;align-items:start}.tc-employee-panel{border:1px solid #e3e3ea;border-radius:12px;padding:14px;background:#fff;min-width:0}.tc-employee-panel h3{margin:0 0 8px}.tc-employee-panel p{font-size:12px;color:#65717a}.tc-employee-panel input{width:100%;min-width:0;box-sizing:border-box;padding:9px;border:1px solid #ddd;border-radius:8px}.tc-panel-list{display:grid;gap:8px;max-height:600px;overflow:auto;margin:12px 0}.tc-panel-person{text-align:left;display:grid;gap:5px;padding:12px!important;cursor:grab;border:1px solid #ddd!important;border-radius:9px!important;background:#f7f7fa}.tc-panel-person small{font-size:12px;white-space:normal}.tc-person-selected{outline:3px solid #7c3aed;outline-offset:-3px}.tc-drop-target{outline:3px solid #7c3aed!important;outline-offset:-3px}.tc-span{grid-column:1/-1}.tc-availability,.tc-copy-warning{padding:12px;border-radius:8px}.tc-copy-warning{background:#fff3d5}.tc-copy-preview ul{max-height:280px;overflow:auto;padding-left:20px}.tc-copy-preview li{margin:10px 0}.tc-copy-preview small{display:block}.tc-panel-person.tc-green{background:#e6f7e9}.tc-panel-person.tc-yellow{background:#fff3cc}.tc-panel-person.tc-red{background:#ffe7e7}@media(max-width:700px){.tc-layout{grid-template-columns:1fr}.tc-panel-list{display:flex;max-height:180px;overflow:auto}.tc-panel-person{min-width:170px}.tc-employee-panel p{margin:6px 0}}.tc-hours{font-weight:600}.tc-hours-green{color:#166534}.tc-hours-yellow{color:#854d0e}.tc-hours-red{color:#b91c1c}.tc-hours-normal{color:#59636b}.tc-role-availability{padding:4px 6px;border-radius:4px}.tc-panel-person[style]{color:#243c3b!important}.tc-employee-heading{position:relative;display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}.tc-employee-heading h3{margin:0}.tc .tc-info-button{display:inline-flex;align-items:center;justify-content:center;width:23px;height:23px;padding:0;border-radius:50%;font-family:Georgia,serif;font-size:15px;font-weight:700;color:#665084}.tc-info-tooltip{position:absolute;top:100%;left:0;width:290px;max-width:calc(100vw - 64px);box-sizing:border-box;z-index:10;padding:12px 14px;background:#fff;border:1px solid #dedce6;border-radius:9px;box-shadow:0 6px 20px #182c3526}.tc-info-tooltip p{margin:0;font-size:12px;line-height:1.6}.tc-info-tooltip p+p{margin-top:8px}.tc-role-grid{display:grid;min-width:100%;width:max-content}.tc-role-heading{grid-column:1/-1;margin:0;padding:18px 14px 12px;background:#c2b9ce;border-bottom:1px solid #b1a5c0;font-size:18px;font-weight:700;text-align:center;color:#302453}.tc-role-day{padding:8px;gap:8px;border-right:1px solid #e7e6ed;min-height:120px}.tc .tc-role-card,.tc-role-day{display:flex;flex-direction:column}.tc .tc-role-card{gap:7px;text-align:left;padding:12px 10px;width:100%;font-size:13px;min-height:94px}.tc .tc-filled{background:#d2f6d9;border-color:#a1d5ae;color:#203c29}.tc .tc-open{background:#fde2e2;border-color:#e7aaaa;color:#892e2e}.tc-role-card strong{font-size:13px}.tc-role-card small{font-size:11px}.tc-slot-plus{font-size:22px;line-height:16px;vertical-align:middle;margin-right:5px}.tc .tc-role-event{background:#fff4df;border-color:#e7c17b;color:#795012}.tc-custom-day{width:100%;border:1px dashed #c9b5df;border-radius:8px;background:#faf7fe;color:#70518c;padding:7px;font-size:11px;text-align:left;margin-bottom:7px;cursor:pointer}.tc-custom-day:disabled{opacity:.5;cursor:default}.tc .tc-role-card.tc-own-shift{background:#1e40af;border:3px solid #2563eb;color:#fff;box-shadow:0 2px 6px #2563eb20}.tc .tc-role-card.tc-own-shift:hover:enabled{background:#1e3a8a;border-color:#2563eb}.tc-own-shift-badge{align-self:flex-start;border:1px solid #ffffff80;border-radius:4px;padding:2px 6px;background:#ffffff20;font-size:11px;font-weight:700;line-height:1.4}.sp{color:#243c3b}.sp-heading,.sp-inline,.sp-section-title,.sp-week{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.sp-heading,.sp-section-title{justify-content:space-between}.sp-heading h2{font-size:25px;letter-spacing:-.7px;margin:8px 0}.sp p{font-size:14px;line-height:1.6;color:#61716f}.sp-kicker{font-size:11px;font-weight:800;letter-spacing:2px;color:#7954b1}.sp-week{margin:24px 0}.sp-week label{display:flex;align-items:center;gap:12px}.sp button{border:1px solid #dedee6;background:white;padding:9px 13px;border-radius:9px;font-weight:650;cursor:pointer;font-size:13px;display:inline-flex;gap:6px;align-items:center;justify-content:center}.sp button:hover{background:#f4f0fb}.sp button:disabled{opacity:.45;cursor:not-allowed}.sp .sp-primary{background:#7348bc;color:white;border-color:#7348bc}.sp input:not([type=checkbox]),.sp select{border:1px solid #d9dce3;background:white;border-radius:8px;padding:10px;font:inherit;min-width:0;max-width:100%;color:#253c3b}.sp input[type=checkbox]{accent-color:#7348bc;width:17px;height:17px}.sp-body{border:0;margin:0;padding:0;min-width:0}.sp-panel{border:1px solid #e5e5eb;border-radius:16px;padding:22px;margin:20px 0;background:#fff}.sp-panel summary{font-size:17px;font-weight:750;cursor:pointer}.sp h3{font-size:17px;margin:0 0 12px}.sp-config{display:grid;grid-template-columns:1fr 1fr;gap:24px}.sp-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.sp-tags>span{padding:4px 8px 4px 12px;border-radius:9px;background:#f2f1f7;font-size:13px}.sp-tags button{border:0;background:transparent;padding:3px 6px;margin-left:8px}.sp-eligibility{margin-top:20px}.sp-eligibility .sp-employee-roles{display:grid;grid-template-columns:160px 1fr auto;gap:16px;align-items:center;padding:12px 0;border-top:1px solid #eee}.sp-eligibility .sp-employee-roles>div{display:flex;flex-wrap:wrap;gap:14px}.sp-eligibility label{display:flex;align-items:center;gap:6px;font-size:13px}.sp-calendar{display:grid;grid-template-columns:repeat(7,minmax(160px,1fr));overflow-x:auto;border:1px solid #e2e4e9;border-radius:12px;margin:18px 0;background:#f8f9fb}.sp-day{border-right:1px solid #e2e4e9;min-height:220px;padding:8px}.sp-day:last-child{border:0}.sp-day header{display:flex;align-items:center;justify-content:space-between;padding:5px 0 12px;font-size:12px}.sp-day header button{padding:4px 8px}.sp-slot{background:white;border:1px solid #e4d9f6;border-left:3px solid #8b60c8;padding:11px;border-radius:8px;margin-bottom:10px;font-size:12px}.sp-slot p{font-size:12px;margin:8px 0}.sp small{display:block;font-size:12px;margin-top:5px;line-height:1.5;color:#637775}.sp-gap{color:#a96213!important;background:#fff5e8}.sp-filled,.sp-gap{padding:3px 5px;border-radius:5px}.sp-filled{color:#23774e;background:#edf8ef}.sp-slot .sp-inline{margin-top:10px;gap:4px}.sp-slot button{font-size:11px;padding:4px 7px}.sp-empty{padding:30px 8px;text-align:center;color:#8b949a!important}.sp-form{display:flex;flex-wrap:wrap;gap:16px;align-items:end}.sp-form h3{width:100%}.sp-form label,.sp-member{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:650}.sp-member{max-width:320px}.sp-draft{margin-top:22px;border-top:1px solid #eee;padding-top:10px}.sp-proposal{display:flex;gap:12px;align-items:flex-start;padding:12px 0;border-bottom:1px solid #eee}.sp-draft>button{margin:18px 10px 0 0}.sp-error{background:#fff0f0;color:#922e38!important}.sp-error,.sp-notice{border-radius:8px;padding:12px}.sp-notice{background:#edf8ef;color:#286a47!important}.sp-records{list-style:none;padding:0}.sp-records li{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #eee;padding:10px 0;font-size:13px}.sp button:focus-visible,.sp input:focus-visible,.sp select:focus-visible{outline:3px solid #c5a9ee;outline-offset:2px}@media(max-width:700px){.sp-config{grid-template-columns:1fr}.sp-panel{padding:16px}.sp-eligibility .sp-employee-roles{grid-template-columns:1fr}.sp-form label{flex:1 1 140px}.sp-form>button{width:100%}.sp-heading h2{font-size:22px}.sp-heading>svg{display:none}.sp-week{gap:7px}.sp-week label{font-size:12px;gap:6px}.sp-calendar{grid-template-columns:repeat(7,190px)}.sp-section-title{align-items:start}}.sp-role-color{display:inline-flex;align-items:center;gap:4px;margin-right:8px}.sp .sp-role-color input[type=color]{width:36px;height:30px;padding:2px;cursor:pointer}.sp-role-color button{font-size:11px}.sp-tags>span{display:inline-flex;align-items:center;flex-wrap:wrap}.pay{max-width:1250px;margin:auto;padding:24px 0 70px;color:#193137}.pay h1{font-size:32px;margin:4px 0}.pay h2{font-size:23px}.pay h3{margin-top:22px}.pay p{line-height:1.6}.pay-heading,.pay-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.pay-heading{justify-content:space-between;margin-bottom:24px}.pay button,.pay-dialog button{padding:10px 14px;border:1px solid #b8c8c3;border-radius:9px;background:white;color:#193d35;cursor:pointer}.pay button:hover,.pay-dialog button:hover{background:#edf6f1}.pay button:disabled,.pay-dialog button:disabled{opacity:.5;cursor:not-allowed}.pay label,.pay-dialog label{display:flex;flex-direction:column;gap:5px;font-size:14px}.pay input,.pay select,.pay-dialog input,.pay-dialog select{padding:10px;border:1px solid #b8c8c3;border-radius:7px;min-width:0;background:white;color:#193137}.pay-toolbar{margin:18px 0}.pay-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:24px 0}.pay-summary>div{background:#edf4ee;border:1px solid #d1dfd3;border-radius:12px;padding:18px}.pay-summary strong{display:block;font-size:25px;margin-top:8px}.pay small,.pay-dialog small{display:block;color:#58706c}.pay-banner{padding:16px;background:#f8f1db;border-radius:10px;margin:12px 0}.pay-error{padding:12px;background:#fff0ee;color:#8c2e25;border-radius:8px}.pay-table{border:1px solid #d3dfda;border-radius:12px;overflow:hidden}.pay-table-head,.pay-table-row{display:grid;grid-template-columns:1.5fr 1fr 1.4fr 1fr 1.1fr;gap:14px;padding:18px}.pay-table-head{background:#edf4ee;font-size:13px;font-weight:600}.pay-table-row{border-top:1px solid #e1e8e4;align-items:center;background:#fff}.pay-table-row small{margin-top:5px;font-size:12px}.pay-status{display:block;font-size:12px;margin-bottom:8px}.pay .pay-check,.pay-dialog .pay-check{display:flex;flex-direction:row;align-items:center;gap:9px}.pay-muted{font-size:12px;color:#61746e}.pay-dialog{width:min(760px,calc(100vw - 32px));max-height:90vh;overflow:auto;padding:24px;border:1px solid #b8c8c3;border-radius:16px;color:#193137;box-shadow:0 20px 90px #0003}.pay-dialog::backdrop{background:#142f3866}.pay-dialog header{display:flex;justify-content:space-between;gap:15px;align-items:center}.pay-dialog form{display:grid;gap:16px}.pay-dialog fieldset{border:1px solid #d3dfda;border-radius:8px;padding:15px}.pay-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.pay-dialog details{padding:12px 0;border-top:1px solid #d3dfda}.pay-dialog pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:300px;overflow:auto}.pay button:focus-visible,.pay-dialog button:focus-visible{outline:3px solid #36a98e;outline-offset:3px}@media(max-width:750px){.pay{padding-top:12px}.pay-summary{grid-template-columns:1fr 1fr}.pay-table-head{display:none}.pay-table-row{grid-template-columns:1fr 1fr}.pay-table-row>div:first-child{grid-column:1/-1}.pay-grid{grid-template-columns:1fr}.pay-dialog{padding:18px}.pay-heading h1{font-size:27px}}.pay input[type=checkbox],.pay-dialog input[type=checkbox]{width:18px;height:18px;flex:0 0 18px;margin:0;accent-color:#286b56}.pay textarea{min-height:80px;padding:10px;border:1px solid #b8c8c3;border-radius:7px}.pay-table-row .pay-check{justify-content:flex-start;text-align:left}.pay-table-row .pay-check b{flex:1}