:root{--rust:#702800;--sun:#f0b860;--stone:#b5b09a;--slate:#587880;--teal:#4ab4c1;--green:#3e7b3a;--green-hover:#326530;--green-soft:#e3f0e1;--bg:#f6f6f5;--surface:#fff;--text:#393939;--heading:#303030;--muted:#6b6b6b;--border:#e0dfdb;--accent:#4b6a72;--accent-hover:#3c575e;--accent-text:#fff;--link:#2f8592;--error:#b3261e;--admin:var(--rust);--director:var(--accent);--manager:#86602f;--employee:#6e6a58;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);font-family:Open Sans,system-ui,sans-serif;line-height:1.6}@media (prefers-color-scheme:dark){:root{--bg:#1c1c1c;--surface:#262626;--text:#dedede;--heading:#f3f3f3;--muted:#9d9d9d;--border:#3a3a3a;--accent:#7fa3ac;--accent-hover:#93b5bd;--accent-text:#141414;--link:var(--teal);--error:#f2b8b5;--green:#7fc27a;--green-hover:#95d190;--green-soft:#22331f;--admin:#e0946b;--director:#93b5bd;--manager:#d3a86e;--employee:var(--stone);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}[hidden]{display:none!important}body{background:var(--bg);margin:0}h1,h2,h3{color:var(--heading);letter-spacing:.01em;font-family:Raleway,system-ui,sans-serif;font-weight:600}h1{margin:0 0 .25rem;font-size:1.75rem}a{color:var(--link)}img{max-width:100%;display:block}.muted{color:var(--muted);margin-top:0}.error{color:var(--error);margin:0}.card{background:var(--surface);border:1px solid var(--border);border-radius:4px;padding:1rem 1.25rem}input,textarea{width:100%;font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:3px;margin-top:.3rem;padding:.65rem .75rem;display:block}input:focus,textarea:focus,select:focus{outline:2px solid var(--teal);outline-offset:1px;border-color:#0000}button{letter-spacing:.08em;text-transform:uppercase;background:var(--accent);color:var(--accent-text);cursor:pointer;border:0;border-radius:3px;padding:.8rem 1.25rem;font-family:Raleway,system-ui,sans-serif;font-size:.85rem;font-weight:700}button:hover:not(:disabled){background:var(--accent-hover)}button:disabled{opacity:.6;cursor:default}button.link{color:var(--muted);font:inherit;text-transform:none;letter-spacing:0;background:0 0;padding:0;text-decoration:underline}button.link:hover{color:var(--text);background:0 0}.login{grid-template-columns:1fr;min-height:100vh;display:grid}.login-hero{background:50%/cover no-repeat;min-height:32vh}.login-card{align-content:center;gap:1.25rem;width:100%;max-width:400px;margin:0 auto;padding:2rem 1rem 3rem;display:grid}.login-card label{font-size:.9rem;font-weight:600}@media (width>=860px){.login{grid-template-columns:1.3fr 1fr}.login-hero{min-height:100vh}.login-card{padding:3rem 2rem}}.topbar{background:var(--surface);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:.75rem 2rem;padding:.6rem 1rem;display:flex}.brand{display:block}.topbar nav{flex-wrap:wrap;flex:1;gap:.25rem 1.5rem;min-width:0;display:flex}.topbar nav a{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border-bottom:2px solid #0000;padding:.25rem 0;font-family:Raleway,system-ui,sans-serif;font-size:.85rem;font-weight:600;text-decoration:none}.topbar nav a:hover{color:var(--text)}.topbar nav a.active{color:var(--heading);border-bottom-color:var(--sun)}.me{align-items:center;gap:.6rem;font-size:.9rem;display:flex}.content{max-width:960px;margin:0 auto;padding:2rem 1rem}.badge{letter-spacing:.06em;text-transform:uppercase;border:1px solid;border-radius:999px;padding:.1rem .55rem;font-size:.7rem;font-weight:700}.badge-admin{color:var(--admin)}.badge-director{color:var(--director)}.badge-manager{color:var(--manager)}.badge-employee{color:var(--employee)}.ev-landscaping{--ev:var(--rust);--ev-text:#fff}.ev-water{--ev:var(--slate);--ev-text:#fff}.ev-maintenance{--ev:var(--stone);--ev-text:#2b2a24}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.filter{align-items:center;gap:.5rem;font-size:.9rem;font-weight:600;display:flex}select{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:3px;padding:.45rem .6rem;font-weight:400}.legend{color:var(--muted);flex-wrap:wrap;gap:1.25rem;margin:.75rem 0;padding:0;font-size:.85rem;list-style:none;display:flex}.legend li{align-items:center;gap:.4rem;display:flex}.swatch{background:var(--ev);border-radius:2px;width:.85rem;height:.85rem}.hint{margin-bottom:.75rem;font-size:.85rem}.calendar{--fc-border-color:var(--border);--fc-page-bg-color:var(--surface);--fc-neutral-bg-color:var(--bg);--fc-today-bg-color:color-mix(in srgb, var(--sun) 18%, transparent);--fc-button-bg-color:var(--surface);--fc-button-border-color:var(--border);--fc-button-text-color:var(--text);--fc-button-hover-bg-color:var(--bg);--fc-button-hover-border-color:var(--border);--fc-button-active-bg-color:var(--accent);--fc-button-active-border-color:var(--accent);padding:1rem}.calendar .fc .fc-button{letter-spacing:.04em;text-transform:uppercase;padding:.4rem .7rem;font-family:Raleway,system-ui,sans-serif;font-size:.8rem}.calendar .fc .fc-button-primary:not(:disabled).fc-button-active{color:var(--accent-text)}.calendar .fc .fc-button:focus{box-shadow:0 0 0 2px var(--teal)}.calendar .fc .fc-toolbar-title{font-family:Raleway,system-ui,sans-serif;font-size:1.3rem;font-weight:600}.calendar .fc a{color:inherit;text-decoration:none}.calendar .fc .fc-daygrid-event{background:var(--ev);border-color:var(--ev);color:var(--ev-text);cursor:pointer;padding:1px 4px;font-size:.8rem}.calendar .fc .fc-daygrid-event .fc-event-main{color:var(--ev-text)}.calendar .fc .ev-finished{opacity:.55}@media (width<=640px){.calendar{padding:.5rem}.calendar .fc .fc-toolbar{flex-direction:column;gap:.5rem}.calendar .fc .fc-toolbar-title{font-size:1.1rem}}.eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0;font-size:.75rem;font-weight:700}.view-switch{border:1px solid var(--border);border-radius:3px;display:inline-flex;overflow:hidden}.view-switch button{background:var(--surface);color:var(--text);border-radius:0;padding:.45rem .9rem;font-size:.8rem}.view-switch button:hover:not(:disabled){background:var(--bg)}.view-switch button[aria-pressed=true],.view-switch button[aria-pressed=true]:hover:not(:disabled){background:var(--accent);color:var(--accent-text)}.head-controls{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.agenda{gap:.6rem;margin:0;padding:0;list-style:none;display:grid}.agenda button{all:unset;box-sizing:border-box;background:var(--surface);border:1px solid var(--border);border-left:5px solid var(--ev);cursor:pointer;border-radius:4px;gap:.2rem;width:100%;padding:.85rem 1rem .85rem 1.1rem;display:grid}.agenda button:hover{background:var(--bg)}.agenda button:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.agenda .title{color:var(--heading);font-family:Raleway,system-ui,sans-serif;font-weight:600}.agenda .meta{color:var(--muted);font-size:.85rem}.agenda .now{color:var(--accent);font-weight:700}.agenda-empty{padding:1rem 0}.back{margin-bottom:1rem;font-size:.9rem;text-decoration:none;display:inline-block}.project-head{border-left:5px solid var(--ev);margin-bottom:1.5rem;padding-left:1rem}.project-head h1{margin:.1rem 0}.project-head .muted{margin:0}.project-layout{gap:1.5rem;display:grid}@media (width>=860px){.project-layout{grid-template-columns:minmax(0,1fr) 300px;align-items:start}.project-side{position:sticky;top:1rem}}.description{margin-top:0}.project-side{gap:1.25rem;display:grid}.field{gap:.4rem;display:grid}.field-label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:.75rem;font-weight:700}.stages{grid-template-columns:1fr 1fr;gap:.4rem;display:grid}.stages button,button.secondary{background:var(--surface);color:var(--text);border:1px solid var(--border);padding:.5rem;font-size:.75rem}.stages button:hover:not(:disabled),button.secondary:hover:not(:disabled){background:var(--bg)}.stages button[aria-checked=true]{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.stage-pill{background:var(--accent);color:var(--accent-text);border-radius:999px;justify-self:start;padding:.15rem .7rem;font-size:.85rem;font-weight:600}.date-row{grid-template-columns:1fr 1fr;gap:.5rem;font-size:.85rem;display:grid}.team-picker{gap:.35rem;margin:0;padding:0;list-style:none;display:grid}.team-picker label{cursor:pointer;align-items:center;gap:.55rem;display:flex}.team-picker input{width:1.05rem;height:1.05rem;accent-color:var(--accent);margin:0}.save-state{margin:0;font-size:.85rem}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.section-head h2{margin:0;font-size:1.3rem}.photo-actions{gap:.5rem;display:flex}.photo-actions button{white-space:nowrap;padding:.6rem 1rem;font-size:.78rem}@media (hover:hover) and (pointer:fine){.camera-only{display:none}}.photo-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr));gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.photo-grid li{background:var(--surface);border:1px solid var(--border);border-radius:4px;overflow:hidden}.photo-grid img{aspect-ratio:4/3;object-fit:cover;width:100%}.photo-meta{color:var(--muted);justify-content:space-between;gap:.5rem;padding:.4rem .6rem;font-size:.78rem;display:flex}.modal{background:var(--surface);width:min(520px,100vw - 2rem);max-height:calc(100vh - 2rem);color:var(--text);border:0;border-radius:4px;padding:0;box-shadow:0 10px 40px #00000040}.modal-wide{width:min(720px,100vw - 2rem)}.modal::backdrop{background:#00000073}.modal-head{z-index:1;background:var(--surface);border-bottom:1px solid var(--border);border-top:4px solid var(--sun);justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex;position:sticky;top:0}.modal-head h2{margin:0;font-size:1.25rem}.modal-body{padding:1.25rem}button.icon{color:var(--muted);background:0 0;padding:0 .25rem;font-size:1.6rem;line-height:1}button.icon:hover{color:var(--text);background:0 0}.form{grid-template-columns:1fr 1fr;gap:.9rem 1rem;display:grid}.form>label,.form .form>label{font-size:.88rem;font-weight:600}.form select{width:100%;margin-top:.3rem;padding:.6rem;display:block}.form textarea{resize:vertical}.span-2{grid-column:1/-1}@media (width<=560px){.form{grid-template-columns:1fr}}fieldset{border:1px solid var(--border);border-radius:4px;margin:0;padding:.75rem 1rem 1rem}legend{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:0 .4rem;font-size:.75rem;font-weight:700}fieldset.private{background:var(--bg)}.team-picker.columns{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.form-actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;margin-top:.5rem;display:flex}button.danger{color:var(--error);background:0 0;border:1px solid;margin-right:auto}button.danger:hover:not(:disabled){background:color-mix(in srgb, var(--error) 10%, transparent)}.details{grid-template-columns:auto 1fr;gap:.4rem 1rem;font-size:.92rem;display:grid}.details dt{color:var(--muted);font-weight:600}.details dd{overflow-wrap:anywhere;margin:0}.pre{white-space:pre-line}code.secret{background:var(--bg);border:1px solid var(--border);-webkit-user-select:all;user-select:all;border-radius:3px;padding:.15rem .45rem;font-size:1.05rem}.toolbar{flex-wrap:wrap;gap:.6rem;margin:1rem 0;display:flex}.toolbar input.search{flex:220px;width:auto;margin:0;padding:.45rem .7rem}.project-list{grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.project-card{background:var(--surface);border:1px solid var(--border);border-top:5px solid var(--ev);height:100%;color:inherit;border-radius:4px;gap:.25rem;padding:1rem 1.1rem;text-decoration:none;display:grid}.project-card:hover{border-color:var(--accent);border-top-color:var(--ev)}.project-card.is-finished{opacity:.65}.project-card .title,.member-card .title{color:var(--heading);font-family:Raleway,system-ui,sans-serif;font-size:1.05rem;font-weight:600}.project-card .meta,.member-card .meta{color:var(--muted);font-size:.85rem}.card-foot{flex-wrap:wrap;align-items:center;gap:.6rem;margin-top:.5rem;display:flex}.card-foot .stage-pill{font-size:.75rem}.team-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:.75rem;margin:1rem 0 0;padding:0;list-style:none;display:grid}.member-card{all:unset;box-sizing:border-box;background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:4px;align-items:center;gap:.9rem;width:100%;height:100%;padding:.9rem 1rem;display:flex}.member-card:hover{border-color:var(--accent)}.member-card:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.member-text{flex:1;min-width:0;display:grid}.avatar{background:color-mix(in srgb, var(--slate) 18%, var(--surface));width:2.6rem;height:2.6rem;color:var(--accent);border-radius:50%;flex:none;place-items:center;font-family:Raleway,system-ui,sans-serif;font-size:.9rem;font-weight:700;display:grid}button.green{background:var(--green);color:var(--accent-text)}button.green:hover:not(:disabled){background:var(--green-hover)}button.small{padding:.4rem .75rem;font-size:.72rem}a.button{letter-spacing:.08em;text-transform:uppercase;border-radius:3px;padding:.6rem 1rem;font-family:Raleway,system-ui,sans-serif;font-size:.8rem;font-weight:700;text-decoration:none;display:inline-block}a.button.secondary{background:var(--surface);color:var(--text);border:1px solid var(--border)}a.button.secondary:hover{background:var(--bg)}.availability{border-radius:4px;margin:0;padding:.75rem .9rem;font-size:.92rem}.availability p{margin:0 0 .6rem}.availability.ok{background:var(--green-soft);color:var(--text);border-left:4px solid var(--green)}.availability.blocked{background:color-mix(in srgb, var(--sun) 22%, var(--surface));border-left:4px solid var(--sun)}.home{gap:1.25rem;display:grid}.home h1{margin-bottom:0}.holidays{gap:.75rem;display:grid}.holidays h2{margin:0;font-size:1.3rem}.holidays h3{margin:.75rem 0 0;font-size:1rem}.holidays .section-head{margin:0}.holiday-list{margin:0;padding:0;list-style:none;display:grid}.holiday-list li{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:.25rem 1rem;padding:.7rem 0;display:flex}.holiday-dates{font-weight:600}.holiday-list .meta{color:var(--muted);font-size:.88rem}.holiday-actions{align-items:center;gap:.5rem;margin-left:auto;display:flex}.status-pill{border:1px solid;border-radius:999px;padding:.15rem .6rem;font-size:.75rem;font-weight:700}.status-pending{color:var(--muted)}.status-approved{color:var(--green)}.status-declined{color:var(--error)}.ev-holiday{--ev:var(--green);--ev-text:#fff}.calendar .fc .ev-pending{background:var(--green-soft);color:var(--text);border-style:dashed}.calendar .fc .ev-pending .fc-event-main{color:var(--text)}.switch-portal{margin:0;font-size:.88rem}.client-list{gap:.35rem;margin:0;padding:0;list-style:none;display:grid}.client-list li{justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.client-list .meta{color:var(--muted);font-size:.8rem;display:block}.project-side .field>.meta{color:var(--muted);font-size:.8rem}.project-side .field>button.small{justify-self:start}.toggle{cursor:pointer;align-items:center;gap:.55rem;font-size:.92rem;display:flex}.toggle input{width:1.05rem;height:1.05rem;accent-color:var(--accent);margin:0}.toggle.disabled{color:var(--muted);cursor:default}.client-home h2{margin:2rem 0 .75rem;font-size:1.3rem}.showcase-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:1rem;margin:0;padding:0;list-style:none;display:grid}.showcase-card{background:var(--surface);border:1px solid var(--border);border-bottom:4px solid var(--ev);height:100%;color:inherit;border-radius:4px;text-decoration:none;display:grid;overflow:hidden}.showcase-card:hover{border-color:var(--accent);border-bottom-color:var(--ev)}.showcase-card .cover{aspect-ratio:4/3;object-fit:cover;width:100%;display:block}.cover-empty{background:color-mix(in srgb, var(--ev) 18%, var(--surface))}.showcase-text{gap:.15rem;padding:.8rem 1rem 1rem;display:grid}.showcase-text .title{color:var(--heading);font-family:Raleway,system-ui,sans-serif;font-size:1.05rem;font-weight:600}.showcase-text .meta{color:var(--muted);font-size:.85rem}.client-status{gap:1rem;margin-bottom:1.25rem;display:grid}.client-dates{gap:.2rem;margin:0;display:grid}.stage-tracker{grid-template-columns:repeat(4,1fr);gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.stage-tracker li{color:var(--muted);text-align:center;justify-items:center;gap:.35rem;font-size:.82rem;font-weight:600;display:grid;position:relative}.stage-tracker li:not(:last-child):after{content:"";background:var(--border);height:2px;position:absolute;top:1rem;left:calc(50% + 1.1rem);right:calc(1.1rem - 50%)}.stage-tracker li.done:not(:last-child):after{background:var(--green)}.stage-tracker .dot{border:2px solid var(--border);background:var(--surface);border-radius:50%;place-items:center;width:2rem;height:2rem;font-size:.85rem;display:grid}.stage-tracker li.done{color:var(--text)}.stage-tracker li.done .dot{background:var(--green);border-color:var(--green);color:var(--accent-text)}.stage-tracker li.current{color:var(--heading)}.stage-tracker li.current .dot{border-color:var(--sun);background:color-mix(in srgb, var(--sun) 30%, var(--surface))}.login-form{gap:1rem;display:grid}.login-form label{font-size:.9rem;font-weight:600}.login-form button.link{justify-self:start;font-size:.88rem}.login-links{flex-wrap:wrap;gap:.5rem 1.25rem;display:flex}.code-sent{margin:0}.code-input{letter-spacing:.4em;text-align:center;font-variant-numeric:tabular-nums;font-size:1.6rem}.countdown{margin:-.4rem 0 0;font-size:.85rem}.small-print{margin:0;font-size:.8rem}.tester-bar{z-index:50;background:var(--heading);max-width:calc(100vw - 1rem);color:var(--bg);border-radius:6px;flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem .75rem;padding:.5rem .75rem;font-size:.85rem;display:flex;position:fixed;bottom:.75rem;left:50%;transform:translate(-50%);box-shadow:0 4px 20px #00000040}.tester-label strong{color:var(--sun)}.tester-bar select{max-width:14rem;padding:.3rem .4rem;font-size:.85rem}.tester-bar button.small{background:var(--sun);color:#2b2a24}.tester-error{color:var(--sun)}.shell:has(.tester-bar) .content{padding-bottom:5rem}.risk-badge{white-space:nowrap;color:#1c1c1c;border-radius:3px;padding:.1rem .5rem;font-size:.78rem;font-weight:700;display:inline-block}.risk-acceptable{background:#f2e94e}.risk-low{background:#8fd16a}.risk-medium{color:#fff;background:#3d8fd6}.risk-high{color:#fff;background:#b44fd6}.risk-very-high{color:#fff;background:#e0352b}.risk-unacceptable{color:#fff;background:#8e1010}.risk-section{gap:.5rem;margin-bottom:1.5rem;display:grid}.risk-section h2{margin:0;font-size:1.3rem}.risk-section p{margin:0}.risk-missing{border-left:5px solid var(--sun)}.risk-todo{color:var(--rust);font-weight:600}.ra{gap:1.25rem;display:grid}.ra>.eyebrow{margin:0}.ra-site{grid-template-columns:1fr 1fr}.ra-site legend{grid-column:1/-1}.w3w{align-items:center;gap:.5rem;display:flex}.w3w input{flex:1}.w3w a{margin-top:.3rem;font-size:.85rem;font-weight:600}.ra-key{border:1px solid var(--border);background:var(--bg);border-radius:4px;padding:.6rem .9rem}.ra-key summary{cursor:pointer;font-size:.9rem;font-weight:600}.ra-key-body{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-top:.75rem;font-size:.85rem;display:grid}.ra-key dl{gap:.25rem;margin:0;display:grid}.ra-key dt{margin-bottom:.2rem;font-weight:700}.ra-key dd{margin:0}.ra-rows{gap:.75rem;display:grid}.ra-rows h3,.ra-induction h3{margin:0;font-size:1.05rem}.ra-rows>button{justify-self:start}.ra-row{border:1px solid var(--border);border-left:4px solid var(--slate);background:var(--surface);border-radius:4px;gap:.75rem;padding:.9rem;display:grid;position:relative}.ra-cell{align-content:start;gap:.5rem;display:grid}.ra-cell label{font-size:.8rem;font-weight:600}.ra-cell textarea,.ra-cell input{resize:vertical;padding:.45rem .55rem;font-size:.88rem}.ra-remove{justify-self:end;font-size:.8rem}@media (width>=900px){.modal-wide:has(.ra){width:min(1180px,100vw - 2rem)}.ra-row{grid-template-columns:1.1fr 1.5fr 11.5rem 1.4fr 11.5rem}.ra-remove{grid-column:1/-1}}.score-picker{gap:.4rem;display:grid}.score-picker label{align-items:center;gap:.4rem;font-size:.8rem;font-weight:700;display:flex}.score-picker select{flex:1;width:100%;min-width:0;margin:0;padding:.3rem;font-size:.82rem}.score-picker label,.ra-cell{min-width:0}.score-picker .risk-badge{justify-self:start}.score-r{align-items:center;gap:.4rem;min-height:1.9rem;font-size:.8rem;font-weight:700;display:flex}.score-r .muted{font-weight:400}.ra-induction{border-top:1px solid var(--border);gap:.6rem;margin-top:1.5rem;padding-top:1.25rem;display:grid}.ra-induction p{margin:0}.ra-induction>button{justify-self:start}.ra-signed{gap:.3rem;margin:0;padding:0;list-style:none;display:grid}.ra-signed li{flex-wrap:wrap;gap:.25rem 1rem;display:flex}.ra-saved{align-self:center;margin-right:auto}@media (width<=560px){.ra-site{grid-template-columns:1fr}}.ra-status{letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;border-radius:999px;padding:.15rem .65rem;font-size:.75rem;font-weight:700;display:inline-block}.ra-status-needed{background:color-mix(in srgb, var(--rust) 14%, var(--surface));color:var(--rust);border:1px solid var(--rust)}.ra-status-pending{background:color-mix(in srgb, var(--sun) 35%, var(--surface));color:#6a4a00;border:1px solid var(--sun)}.ra-status-accepted{background:var(--green-soft);color:var(--green);border:1px solid var(--green)}@media (prefers-color-scheme:dark){.ra-status-pending{color:var(--sun)}}.ra-banner{border-left:5px solid;border-radius:4px;gap:.5rem;padding:.8rem 1rem;display:grid}.ra-banner p{margin:0}.ra-banner-pending{background:color-mix(in srgb, var(--sun) 18%, var(--surface));border-color:var(--sun)}.ra-banner-accepted{background:var(--green-soft);border-color:var(--green)}.ra-review{border:1px dashed var(--border);border-radius:4px;gap:.5rem;padding:1rem;display:grid}.ra-review h3{margin:0;font-size:1rem}.ra-review-actions{flex-wrap:wrap;gap:.5rem;display:flex}.ra-note{background:var(--surface);border:1px solid var(--border);white-space:pre-line;border-radius:4px;padding:.6rem .8rem}.ra-list{gap:.6rem;margin:0;padding:0;list-style:none;display:grid}.ra-item{border-left:5px solid var(--ev);align-items:center;gap:1rem;display:flex}.ra-item-main{flex:1;justify-items:start;gap:.25rem;min-width:0;display:grid}.ra-item .title{color:var(--heading);font-family:Raleway,system-ui,sans-serif;font-size:1.05rem;font-weight:600;text-decoration:none}.ra-item .title:hover{text-decoration:underline}.ra-item .meta{color:var(--muted);font-size:.85rem}.ra-item>button{flex:none}@media (width<=560px){.ra-item{flex-direction:column;align-items:stretch}}.date-input{align-items:stretch;margin-top:.3rem;font-weight:400;display:flex;position:relative}.date-input input{font-variant-numeric:tabular-nums;margin-top:0;padding-right:2.6rem}.date-input.is-invalid input{border-color:var(--error);outline-color:var(--error)}.date-toggle{color:var(--muted);background:0 0;border-radius:3px;place-items:center;padding:.35rem;display:grid;position:absolute;top:50%;right:.25rem;transform:translateY(-50%)}.date-toggle:hover:not(:disabled){background:var(--bg);color:var(--text)}.date-popover{z-index:20;background:var(--surface);border:1px solid var(--border);--rdp-accent-color:var(--accent);--rdp-accent-background-color:color-mix(in srgb, var(--accent) 15%, var(--surface));--rdp-today-color:var(--rust);--rdp-day-height:2.4rem;--rdp-day-width:2.4rem;--rdp-day_button-height:2.3rem;--rdp-day_button-width:2.3rem;color:var(--text);border-radius:6px;padding:.5rem;font-size:.9rem;position:absolute;top:calc(100% + 4px);left:0;box-shadow:0 8px 28px #0003}.date-popover .rdp-caption_label{font-family:Raleway,system-ui,sans-serif;font-weight:600}.date-popover button{letter-spacing:0;text-transform:none;color:inherit;background:0 0;padding:0;font-family:inherit;font-weight:400}.date-popover .rdp-selected .rdp-day_button{background:var(--accent);color:var(--accent-text);border-color:var(--accent);font-weight:700}.date-popover .rdp-chevron{fill:var(--accent)}.date-row label:last-child .date-popover,.form>label:nth-child(2n) .date-popover{left:auto;right:0}.date-row input{padding:.45rem 2.2rem .45rem .5rem}.danger-zone{border-top:1px solid var(--border);padding-top:1rem}.danger-zone button.danger{justify-self:start;margin:0}button.danger.solid{background:var(--error);color:#fff;border-color:var(--error);margin:0}button.danger.solid:hover:not(:disabled){background:color-mix(in srgb, var(--error) 85%, #000)}.ra-pdf{flex-wrap:wrap;align-items:center;gap:.5rem;display:inline-flex}.ra-pdf .error{font-size:.85rem}.ra-section-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.form-actions .ra-pdf{margin-right:auto}.ra-type{background:var(--bg);border:1px solid var(--border);border-left:4px solid var(--sun);border-radius:4px;gap:.35rem;padding:.9rem 1rem;font-size:.95rem;font-weight:600;display:grid}.ra-type select{width:100%;padding:.6rem;font-size:1rem}.ra-type-hint{font-size:.85rem;font-weight:400}.library-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,190px),1fr));gap:1rem;margin:1rem 0 0;padding:0;list-style:none;display:grid}.library-card{background:var(--surface);border:1px solid var(--border);border-radius:4px;grid-template-rows:auto 1fr;display:grid;overflow:hidden}.library-card:hover{border-color:var(--accent)}button.library-open{background:var(--bg);border-bottom:1px solid var(--border);border-radius:0;width:100%;padding:0;display:block}button.library-open:hover:not(:disabled){background:var(--bg)}.library-open img{aspect-ratio:3/4;object-fit:cover;object-position:top;width:100%}.library-nocover{aspect-ratio:3/4;color:var(--muted);place-items:center;font-size:1.4rem;display:grid}.library-text{align-content:start;gap:.2rem;padding:.7rem .8rem;display:grid}.library-text .title{color:var(--heading);font-family:Raleway,system-ui,sans-serif;font-weight:600}.library-text .meta{color:var(--muted);font-size:.8rem}.library-actions{gap:1rem;margin-top:.25rem;font-size:.85rem;display:flex}.ts-week{align-items:center;gap:.4rem;display:flex}.ts-range{text-align:center;min-width:13rem;font-size:.92rem;font-weight:600}.ts-summary{flex-wrap:wrap;align-items:baseline;gap:.4rem 1.25rem;margin:.9rem 0 .25rem;font-size:.92rem;display:flex}.ts-summary b{color:var(--heading);font-size:1.15rem}.ts-save{margin-left:auto;font-size:.85rem}.ts-grid{touch-action:manipulation;grid-template-columns:3.5rem repeat(5,minmax(0,1fr));gap:3px;display:grid}.ts-loading{opacity:.5}.ts-row{display:contents}.ts-day{color:var(--muted);justify-items:center;padding-bottom:.2rem;font-size:.78rem;font-weight:700;display:grid}.ts-day small{color:var(--text);font-size:.85rem;font-weight:600}.ts-today,.ts-today small{color:var(--rust)}.ts-hour{color:var(--muted);text-align:right;white-space:nowrap;align-self:center;padding-right:.3rem;font-size:.75rem}button.ts-tile{background:var(--surface);color:#fff;border:1px solid var(--border);letter-spacing:.04em;-webkit-tap-highlight-color:transparent;border-radius:3px;height:1.7rem;padding:0;font-size:.68rem}button.ts-tile:hover:not(:disabled){background:var(--bg)}button.ts-tile.ts-late{background:#c4640f1a}button.ts-tile.ts-late-start{box-shadow:0 -3px #c4640f}button.ts-tile.ts-normal,button.ts-tile.ts-normal:hover:not(:disabled),.swatch.ts-normal{background:#3e7b3a;border-color:#3e7b3a}button.ts-tile.ts-overtime,button.ts-tile.ts-overtime:hover:not(:disabled),.swatch.ts-overtime{background:#c4640f;border-color:#c4640f}.swatch.ts-empty{background:var(--surface);border:1px solid var(--border)}.ts-foot{text-align:center;color:var(--heading);padding-top:.25rem;font-size:.8rem;font-weight:700}.ts-hour.ts-foot{text-align:right;color:var(--muted)}.ts-extras{grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:1rem;margin-top:1.25rem;display:grid}.ts-extras section{align-content:start;gap:.6rem;display:grid}.ts-extras h2{margin:0;font-size:1.15rem}.ts-extras .section-head{margin:0}.ts-extras>section>button{justify-self:start}.ts-item{grid-template-columns:7.5rem minmax(0,1fr) 5rem auto;align-items:center;gap:.4rem;display:grid}.ts-item input{margin:0;padding:.45rem .5rem;font-size:.9rem}.ts-item select{min-width:0;padding:.45rem .3rem;font-size:.85rem}.ts-item .link{font-size:.8rem}@media (width<=480px){.ts-item{grid-template-columns:1fr 5rem}.ts-item input:not(.ts-num){grid-area:2/1/auto/-1}.ts-item .link{grid-column:1/-1;justify-self:end}.content:has(.timesheet){padding-left:.5rem;padding-right:.5rem}}.ts-week>button[aria-label]{padding:.35rem .8rem;font-size:1.1rem;line-height:1}fieldset.ts-extras{border:0;min-width:0;padding:0}fieldset.ts-extras:disabled{opacity:.75}.ts-send{justify-items:end;gap:.5rem;margin-top:1.25rem;display:grid}.ts-grid+.ts-extras{margin-top:1.25rem}.timesheet .ra-banner{margin:.5rem 0 .75rem}button.ts-tile:disabled{opacity:1;cursor:default}.ts-received{border-left-color:var(--sun)}.ts-missing{grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));gap:.3rem;margin:0;padding:0;list-style:none;display:grid}.ts-review{gap:1rem;display:grid}.ts-review h3{margin:0 0 .4rem;font-size:1rem}.ts-review .ts-tile{height:1.3rem}.ts-lines{gap:.3rem;margin:0;padding:0;font-size:.9rem;list-style:none;display:grid}.ts-lines li{grid-template-columns:6.5rem minmax(0,1fr) auto;gap:.75rem;display:grid}.ts-off{color:#fff;border-radius:3px;padding:0 .3rem;font-size:.62rem;font-style:normal;font-weight:700}.ts-off-sick{background:#8e1010}.ts-off-unpaid_holiday{background:#4b6a72}@media (width<=480px){.ts-item-off{grid-template-columns:1fr 1fr}.ts-item-off select{grid-column:auto}.ts-item-off .link{grid-column:1/-1}}@media (width>=900px){.ts-extras{grid-template-columns:repeat(3,minmax(0,1fr))}}.ts-item{grid-template-columns:minmax(0,1fr) 5rem}.ts-item input:not(.ts-num){grid-area:2/1/auto/-1}.ts-item .link{grid-column:1/-1;justify-self:end}.ts-item-off{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}button.ts-tile.ts-blocked,button.ts-tile.ts-blocked:hover:not(:disabled){background:var(--border);border-color:var(--border);cursor:not-allowed}.ts-grid{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.ts-tools{flex-wrap:wrap;align-items:center;gap:.5rem 1rem;margin-top:.6rem;font-size:.82rem;display:flex}.scan{align-content:start;justify-items:center;gap:1rem;min-height:100vh;padding:1.25rem 1rem 2rem;display:grid}.scan-card{gap:.8rem;width:100%;max-width:420px;padding:1.25rem;display:grid}.scan-card img{aspect-ratio:4/3;object-fit:cover;border-radius:4px;width:100%}.scan-card h1,.scan-card p{margin:0}.scan-card label{gap:.35rem;font-weight:600;display:grid}.scan-card select{width:100%;padding:.75rem;font-size:1.05rem}.scan-state{border-radius:4px;padding:.6rem .8rem;font-weight:600}.scan-free{background:var(--green-soft)}.scan-held{background:color-mix(in srgb, var(--sun) 25%, var(--surface));font-weight:400}button.scan-action{width:100%;padding:1rem;font-size:1rem}.eq-card{all:unset;box-sizing:border-box;background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:4px;width:100%;height:100%;display:grid;overflow:hidden}.eq-card:hover{border-color:var(--accent)}.eq-card:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.eq-card .cover{aspect-ratio:4/3;object-fit:cover;width:100%;display:block}.eq-card .eq-nophoto{--ev:var(--slate);color:var(--muted);place-items:center;font-size:1.1rem;font-weight:600;display:grid}.eq-holder{color:var(--green);font-size:.85rem;font-weight:600}.eq-holder.taken{color:#b35f00}.eq-due{color:var(--muted);font-size:.8rem}.eq-soon{color:#b35f00;font-weight:600}.eq-overdue{color:var(--error);font-weight:700}.eq-photo{border-radius:4px;width:100%;margin-bottom:.75rem}.eq-picture{margin-bottom:.75rem}.image-actions{flex-wrap:wrap;align-items:baseline;gap:.75rem;display:inline-flex}.image-actions .error{margin:0;font-size:.8rem}.photo-grid img.site-logo{object-fit:contain;background:var(--surface);padding:1rem}.photo-grid img.site-logo_white{background:#24332b}.eq-line{display:contents}.eq-checks{gap:.6rem;display:grid}.eq-checks>button{justify-self:start}.eq-check{grid-template-columns:minmax(0,1.3fr) 10rem minmax(0,1.3fr) auto;align-items:center;gap:.5rem;display:grid}.eq-check input,.eq-check .date-input{margin-top:0}.eq-every{align-items:center;gap:.3rem;font-size:.85rem;display:flex}.eq-every input{width:3.6rem;padding:.5rem .3rem}.eq-every select{min-width:0;padding:.5rem .2rem}.eq-check-actions{align-items:center;gap:.5rem;display:flex}.eq-qr{flex-wrap:wrap;align-items:center;gap:1rem;font-size:.9rem;display:flex}.eq-log li{grid-template-columns:8.5rem minmax(0,1fr) auto}@media (width<=760px){.eq-check{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr);padding-bottom:.6rem}}.eq-stock{display:block;position:relative}.eq-stock em{color:#fff;background:#0009;border-radius:3px;padding:.1rem .45rem;font-size:.7rem;font-style:normal;font-weight:600;position:absolute;bottom:.5rem;left:.5rem}.eq-reminders{gap:.7rem;margin-bottom:1.25rem;display:grid}.eq-reminders .section-head{margin:0}.eq-reminders h2{margin:0;font-size:1.2rem}.eq-reminders p{margin:0}.eq-rem-group{border-left:4px solid var(--stone);padding-left:.75rem}.eq-rem-group h3{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin:0 0 .2rem;font-size:.85rem}.eq-rem-group ul{gap:.2rem;margin:0;padding:0;list-style:none;display:grid}.eq-rem-group li{flex-wrap:wrap;justify-content:space-between;gap:.1rem 1rem;font-size:.92rem;display:flex}.eq-rem-group .meta{color:var(--muted);font-size:.85rem}.eq-rem-late{border-left-color:var(--error)}.eq-rem-late h3,.eq-rem-late .meta{color:var(--error);font-weight:700}.eq-rem-day,.eq-rem-three{border-left-color:#c4640f}.eq-rem-day h3,.eq-rem-three h3{color:#b35f00}.eq-rem-week{border-left-color:var(--sun)}.scan-done{text-align:center;justify-items:center;padding:2rem 1.25rem}.scan-tick{background:var(--green);color:#fff;border-radius:50%;place-items:center;width:3.5rem;height:3.5rem;font-size:1.8rem;display:grid}.rdp-root{--rdp-accent-color:blue;--rdp-accent-background-color:#f0f0ff;--rdp-day-height:44px;--rdp-day-width:44px;--rdp-day_button-border-radius:100%;--rdp-day_button-border:2px solid transparent;--rdp-day_button-height:42px;--rdp-day_button-width:42px;--rdp-selected-border:2px solid var(--rdp-accent-color);--rdp-disabled-opacity:.5;--rdp-outside-opacity:.75;--rdp-today-color:var(--rdp-accent-color);--rdp-dropdown-gap:.5rem;--rdp-months-gap:2rem;--rdp-nav_button-disabled-opacity:.5;--rdp-nav_button-height:2.25rem;--rdp-nav_button-width:2.25rem;--rdp-nav-height:2.75rem;--rdp-range_middle-background-color:var(--rdp-accent-background-color);--rdp-range_middle-color:inherit;--rdp-range_start-color:white;--rdp-range_start-background:linear-gradient(var(--rdp-gradient-direction), transparent 50%, var(--rdp-range_middle-background-color) 50%);--rdp-range_start-date-background-color:var(--rdp-accent-color);--rdp-range_end-background:linear-gradient(var(--rdp-gradient-direction), var(--rdp-range_middle-background-color) 50%, transparent 50%);--rdp-range_end-color:white;--rdp-range_end-date-background-color:var(--rdp-accent-color);--rdp-week_number-border-radius:100%;--rdp-week_number-border:2px solid transparent;--rdp-week_number-height:var(--rdp-day-height);--rdp-week_number-opacity:.75;--rdp-week_number-width:var(--rdp-day-width);--rdp-weeknumber-text-align:center;--rdp-weekday-opacity:.75;--rdp-weekday-padding:.5rem 0rem;--rdp-weekday-text-align:center;--rdp-gradient-direction:90deg;--rdp-animation_duration:.3s;--rdp-animation_timing:cubic-bezier(.4, 0, .2, 1)}.rdp-root[dir=rtl]{--rdp-gradient-direction:-90deg}.rdp-root[data-broadcast-calendar=true]{--rdp-outside-opacity:unset}.rdp-root{box-sizing:border-box;position:relative}.rdp-root *{box-sizing:border-box}.rdp-day{width:var(--rdp-day-width);height:var(--rdp-day-height);text-align:center}.rdp-day_button{cursor:pointer;font:inherit;color:inherit;width:var(--rdp-day_button-width);height:var(--rdp-day_button-height);border:var(--rdp-day_button-border);border-radius:var(--rdp-day_button-border-radius);background:0 0;justify-content:center;align-items:center;margin:0;padding:0;display:flex}.rdp-day_button:disabled{cursor:revert}.rdp-caption_label{z-index:1;white-space:nowrap;border:0;align-items:center;display:inline-flex;position:relative}.rdp-dropdown:focus-visible~.rdp-caption_label{outline:5px auto highlight;outline:5px auto -webkit-focus-ring-color}.rdp-button_next,.rdp-button_previous{cursor:pointer;font:inherit;color:inherit;appearance:none;width:var(--rdp-nav_button-width);height:var(--rdp-nav_button-height);background:0 0;border:none;justify-content:center;align-items:center;margin:0;padding:0;display:inline-flex;position:relative}.rdp-button_next:disabled,.rdp-button_next[aria-disabled=true],.rdp-button_previous:disabled,.rdp-button_previous[aria-disabled=true]{cursor:revert;opacity:var(--rdp-nav_button-disabled-opacity)}.rdp-chevron{fill:var(--rdp-accent-color);display:inline-block}.rdp-root[dir=rtl] .rdp-nav .rdp-chevron{transform-origin:50%;transform:rotate(180deg)}.rdp-dropdowns{align-items:center;gap:var(--rdp-dropdown-gap);display:inline-flex;position:relative}.rdp-dropdown{z-index:2;opacity:0;appearance:none;width:100%;cursor:inherit;line-height:inherit;border:none;margin:0;padding:0;position:absolute;inset-block:0;inset-inline-start:0}.rdp-dropdown_root{align-items:center;display:inline-flex;position:relative}.rdp-dropdown_root[data-disabled=true] .rdp-chevron{opacity:var(--rdp-disabled-opacity)}.rdp-month_caption{height:var(--rdp-nav-height);align-content:center;font-size:large;font-weight:700;display:flex}.rdp-root[data-nav-layout=around] .rdp-month,.rdp-root[data-nav-layout=after] .rdp-month{position:relative}.rdp-root[data-nav-layout=around] .rdp-month_caption{justify-content:center;margin-inline-start:var(--rdp-nav_button-width);margin-inline-end:var(--rdp-nav_button-width);position:relative}.rdp-root[data-nav-layout=around] .rdp-button_previous{inset-inline-start:0;height:var(--rdp-nav-height);display:inline-flex;position:absolute;top:0}.rdp-root[data-nav-layout=around] .rdp-button_next{inset-inline-end:0;height:var(--rdp-nav-height);justify-content:center;display:inline-flex;position:absolute;top:0}.rdp-months{gap:var(--rdp-months-gap);flex-wrap:wrap;max-width:fit-content;display:flex;position:relative}.rdp-month_grid{border-collapse:collapse}.rdp-nav{height:var(--rdp-nav-height);align-items:center;display:flex;position:absolute;inset-block-start:0;inset-inline-end:0}.rdp-weekday{opacity:var(--rdp-weekday-opacity);padding:var(--rdp-weekday-padding);text-align:var(--rdp-weekday-text-align);text-transform:var(--rdp-weekday-text-transform);font-size:smaller;font-weight:500}.rdp-week_number{opacity:var(--rdp-week_number-opacity);height:var(--rdp-week_number-height);width:var(--rdp-week_number-width);border:var(--rdp-week_number-border);border-radius:var(--rdp-week_number-border-radius);text-align:var(--rdp-weeknumber-text-align);font-size:small;font-weight:400}.rdp-today:not(.rdp-outside){color:var(--rdp-today-color)}.rdp-selected{font-size:large;font-weight:700}.rdp-selected .rdp-day_button{border:var(--rdp-selected-border)}.rdp-outside{opacity:var(--rdp-outside-opacity)}.rdp-disabled:not(.rdp-selected){opacity:var(--rdp-disabled-opacity)}.rdp-hidden{visibility:hidden;color:var(--rdp-range_start-color)}.rdp-range_start{background:var(--rdp-range_start-background)}.rdp-range_start .rdp-day_button{background-color:var(--rdp-range_start-date-background-color);color:var(--rdp-range_start-color)}.rdp-range_middle{background-color:var(--rdp-range_middle-background-color)}.rdp-range_middle .rdp-day_button{border:unset;border-radius:unset;color:var(--rdp-range_middle-color)}.rdp-range_end{background:var(--rdp-range_end-background);color:var(--rdp-range_end-color)}.rdp-range_end .rdp-day_button{color:var(--rdp-range_start-color);background-color:var(--rdp-range_end-date-background-color)}.rdp-range_start.rdp-range_end{background:revert}.rdp-focusable{cursor:pointer}@keyframes rdp-slide_in_left{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes rdp-slide_in_right{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes rdp-slide_out_left{0%{transform:translate(0)}to{transform:translate(-100%)}}@keyframes rdp-slide_out_right{0%{transform:translate(0)}to{transform:translate(100%)}}.rdp-weeks_before_enter{animation:rdp-slide_in_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-weeks_before_exit{animation:rdp-slide_out_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-weeks_after_enter{animation:rdp-slide_in_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-weeks_after_exit{animation:rdp-slide_out_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_after_enter{animation:rdp-slide_in_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_before_exit{animation:rdp-slide_out_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_before_enter{animation:rdp-slide_in_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_after_exit{animation:rdp-slide_out_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}@keyframes rdp-fade_in{0%{opacity:0}to{opacity:1}}@keyframes rdp-fade_out{0%{opacity:1}to{opacity:0}}.rdp-caption_after_enter{animation:rdp-fade_in var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-caption_after_exit{animation:rdp-fade_out var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-caption_before_enter{animation:rdp-fade_in var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-caption_before_exit{animation:rdp-fade_out var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}
