#rostering{--r:#8f1d2c;--red:#b42318;--blue:#225ea8;--amber:#d97706;--line:#d9dfe5}.ccftrost-hero{display:flex;justify-content:space-between;gap:18px;padding:20px;border:1px solid var(--line);border-radius:15px;background:linear-gradient(180deg,#fff,#f7f9fb);margin-bottom:12px}.ccftrost-hero span{font-size:.74rem;letter-spacing:.12em;font-weight:800;color:var(--r)}.ccftrost-hero h2{margin:4px 0}.ccftrost-hero>div:last-child{display:flex;flex-direction:column;text-align:right;text-transform:capitalize}.ccftrost-toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:10px 0}.ccftrost-year-strip{display:grid;grid-template-columns:repeat(12,minmax(72px,1fr));gap:6px;margin:12px 0;overflow-x:auto}.ccftrost-mini{min-width:72px;background:#fff;border:1px solid var(--line);border-radius:9px;padding:6px}.ccftrost-mini.active{border:2px solid var(--r)}.ccftrost-mini span{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;margin-top:4px}.ccftrost-mini i{display:block;aspect-ratio:1;border-radius:2px;background:#dfe5eb}.ccftrost-mini i.wk{background:#cfe2f5}.ccftrost-mini i.hol{background:#bcd7f0}.ccftrost-mini i.gap{background:#ffd49a}.ccftrost-month-head{display:flex;justify-content:space-between;gap:12px;align-items:end}.ccftrost-legend{display:flex;gap:10px;flex-wrap:wrap;font-size:.8rem}.ccftrost-legend i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:3px}.ccftrost-legend .red{background:var(--red)}.ccftrost-legend .blue{background:var(--blue)}.ccftrost-legend .amber{background:var(--amber)}.ccftrost-weekhead,.ccftrost-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.ccftrost-weekhead{margin:8px 0 4px}.ccftrost-weekhead b{text-align:center;font-size:.82rem}.ccftrost-day{min-height:180px;border:1px solid var(--line);border-radius:10px;padding:6px;background:#fff;overflow:hidden}.ccftrost-day.empty{border:none;background:transparent}.ccftrost-day.weekend,.ccftrost-day.holiday{background:#f2f7fc}.ccftrost-day>header{display:flex;justify-content:space-between;border-bottom:1px solid #edf0f3}.ccftrost-holiday{font-size:.72rem;font-weight:800;color:var(--blue);padding:4px 0}.ccftrost-site{padding:5px 0;border-bottom:1px dashed #e2e6ea;font-size:.72rem}.ccftrost-site.oncall{background:#eef6ff;margin:3px -3px;padding:5px 3px;border-left:3px solid var(--blue)}.ccftrost-site.gap{box-shadow:inset 3px 0 0 var(--amber)}.ccftrost-site>div{display:flex;flex-direction:column}.ccftrost-site .label{font-size:.65rem;text-transform:uppercase;color:#66717c}.ccftrost-leaveflag{background:#fee4e2;color:var(--red);font-weight:900;border-radius:4px;padding:2px 4px}.ccftrost-site .techleave{color:var(--red);font-weight:800}.ccftrost-muted{font-size:.72rem;color:#76808b;padding-top:8px}.ccftrost-admin{display:grid;grid-template-columns:repeat(2,minmax(320px,1fr));gap:14px;margin-top:16px}.ccftrost-admin form{display:grid;gap:9px}.ccftrost-admin label{display:flex;flex-direction:column;gap:4px}.ccftrost-admin fieldset{display:grid;grid-template-columns:1fr 1fr;gap:5px}.ccftrost-admin fieldset label{display:block}.ccftrost-stafflist,.ccftrost-holidaylist{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}.ccftrost-stafflist span,.ccftrost-holidaylist span{background:#f0f2f5;border-radius:999px;padding:4px 7px;font-size:.78rem}.ccftrost-leavelist{display:grid;gap:5px;margin-top:8px}.ccftrost-leavelist div{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid #eee;padding:5px 0;font-size:.8rem}@media(max-width:1100px){#rostMain{overflow-x:auto}.ccftrost-calendar,.ccftrost-weekhead{grid-template-columns:repeat(7,160px);min-width:1160px}}@media(max-width:760px){.ccftrost-hero{flex-direction:column}.ccftrost-hero>div:last-child{text-align:left}.ccftrost-year-strip{grid-template-columns:repeat(12,88px)}.ccftrost-admin{grid-template-columns:1fr}.ccftrost-month-head{flex-direction:column;align-items:flex-start}}/* v1.36.12 site colour differentiation */
.ccftrost-site.site-rotorua{background:#e8f7f5;border-left:4px solid #0f766e;padding-left:5px}
.ccftrost-site.site-nelson{background:#f3ecfb;border-left:4px solid #7c3aed;padding-left:5px}
.ccftrost-site.site-dunedin{background:#edf8ec;border-left:4px solid #2f855a;padding-left:5px}
.ccftrost-site.site-kia-tau{background:#eaf2ff;border-left:4px solid #2563eb;padding-left:5px}
.ccftrost-site.site-kirikiriroa{background:#fbecef;border-left:4px solid #8f1d2c;padding-left:5px}
.ccftrost-site.oncall{box-shadow:inset 0 0 0 2px rgba(34,94,168,.16)}
.ccftrost-legend .sitekey.rotorua{background:#0f766e}.ccftrost-legend .sitekey.nelson{background:#7c3aed}.ccftrost-legend .sitekey.dunedin{background:#2f855a}.ccftrost-legend .sitekey.kia-tau{background:#2563eb}.ccftrost-legend .sitekey.kirikiriroa{background:#8f1d2c}
.ccftrost-help{font-size:.84rem;color:#5f6974;background:#f7f8fa;padding:8px;border-radius:8px}
/* v1.36.13 quick edit */
.ccftrost-site.editable{cursor:pointer;transition:transform .12s ease,box-shadow .12s ease}.ccftrost-site.editable:hover{transform:translateY(-1px);box-shadow:0 2px 8px rgba(0,0,0,.12)}.ccftrost-role{border-radius:5px;padding:2px}.ccftrost-site.editable .ccftrost-role:hover{background:rgba(255,255,255,.48)}.editable-day{cursor:pointer}.editable-day:hover{background:#f4f6f8}.ccftrost-modal{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:2147483600;display:flex;align-items:center;justify-content:center;padding:18px}.ccftrost-modal-card{background:#fff;width:min(760px,96vw);max-height:92vh;overflow:auto;border-radius:16px;padding:20px;position:relative;box-shadow:0 18px 50px rgba(0,0,0,.25)}.ccftrost-modal-close{position:absolute;right:12px;top:10px;border:0;background:transparent;font-size:1.7rem}.ccftrost-formgrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.ccftrost-modal form>label,.ccftrost-formgrid label{display:flex;flex-direction:column;gap:5px;margin:8px 0}.ccftrost-techgrid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.ccftrost-modal-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.ccftrost-modal .danger{background:#b42318;color:#fff}.ccftrost-modal .secondary{background:#eef1f4;color:#222}.ccftrost-apply{margin-top:8px}.ccftrost-apply label{display:block!important}@media(max-width:700px){.ccftrost-formgrid,.ccftrost-techgrid{grid-template-columns:1fr}.ccftrost-modal{padding:8px}.ccftrost-modal-card{max-height:96vh;padding:16px}}
