:root{--ground: oklch(.978 .012 145);--sheet: #ffffff;--panel: oklch(.972 .017 148);--ink: oklch(.27 .028 155);--ink-quiet: oklch(.44 .024 155);--ink-soft: oklch(.53 .022 155);--ink-faint: oklch(.78 .02 140);--rule: oklch(.94 .011 140);--rule-firm: oklch(.87 .016 140);--rule-panel: oklch(.945 .015 146);--edge: oklch(.925 .014 142);--green: oklch(.52 .12 150);--green-ink: oklch(.4 .11 150);--green-wash: oklch(.93 .038 150);--green-mark: oklch(.82 .09 150);--clay: oklch(.52 .12 30);--clay-ink: oklch(.46 .13 30);--clay-wash: oklch(.95 .03 30);--ochre: oklch(.48 .11 75);--ochre-wash: oklch(.95 .035 75);--settled: oklch(.58 .016 155);--settled-wash: oklch(.96 .004 155);--waiting: oklch(.42 .022 155);--font-title: Newsreader, Georgia, serif;--font-text: Figtree, "Helvetica Neue", Arial, sans-serif;--size-xs: .8125rem;--size-sm: .875rem;--size-base: .9375rem;--size-md: 1rem;--size-lg: 1.0625rem;--size-figure: 1.5625rem;--size-title: 2.25rem;--step-1: .25rem;--step-2: .5rem;--step-3: .75rem;--step-4: 1rem;--step-5: 1.25rem;--step-6: 1.5rem;--step-8: 2rem;--step-9: 2.25rem;--radius: .5rem;--radius-panel: .875rem;--pill: 100vmax;--measure: 72rem;--rail: 13.75rem;--rail-row: 2.125rem;--day: 1.625rem}*,*:before,*:after{box-sizing:border-box}body{margin:0;background:var(--sheet);color:var(--ink);font-family:var(--font-text);font-size:var(--size-md);line-height:1.5}h1{margin:0;font-family:var(--font-title);font-size:var(--size-title);font-weight:400;letter-spacing:-.008em}h2{margin:0;font-size:var(--size-lg);font-weight:600}p{margin:0}small{font-size:var(--size-base);color:var(--ink-soft)}abbr{text-decoration:none}a{color:inherit;text-decoration:none;&:hover{color:var(--green);text-decoration:underline;text-underline-offset:3px}&:focus-visible{outline:2px solid var(--green);outline-offset:2px;text-decoration:none}}ul,ol{margin:0;padding:0;list-style:none}dl,dd{margin:0}table{inline-size:100%;border-collapse:collapse;font-size:var(--size-base)}caption{padding-block-end:var(--step-1);font-size:var(--size-sm);font-weight:600;text-align:start}th{font-weight:600;text-align:start}thead th{padding-block-end:.5rem;border-block-end:1px solid var(--rule-firm);font-size:var(--size-sm);font-weight:600;color:var(--ink-soft)}tbody :is(th,td){padding-block:.625rem;padding-inline-end:var(--step-4);border-block-end:1px solid var(--rule);vertical-align:baseline}tbody th{font-weight:500}td{font-variant-numeric:tabular-nums}tr[data-tone=past] :is(th,td){color:var(--ink-soft)}td[data-tone=spent]{color:var(--clay-ink)}button{font:inherit;cursor:pointer}button:not(.button){padding:.25rem .75rem;border:1px solid var(--edge);border-radius:var(--pill);background:var(--sheet);color:var(--ink-quiet);font-size:var(--size-sm);&:hover{border-color:var(--clay);color:var(--clay-ink)}}:is(tbody,li) button:not(.button){padding:0;border:0;background:none;color:inherit;font-size:inherit;&:hover{color:var(--green);text-decoration:underline;text-underline-offset:3px}}input,select,textarea{inline-size:100%;padding:.4375rem .6875rem;border:1px solid var(--rule-firm);border-radius:var(--radius);background:var(--sheet);color:var(--ink);font:inherit;font-size:var(--size-base);&:focus-visible{border-color:var(--green);outline:2px solid var(--green-wash);outline-offset:0}}input[type=checkbox]{inline-size:1rem;block-size:1rem;accent-color:var(--green)}textarea{min-block-size:4.5rem;resize:vertical}form{display:flex;flex-direction:column;gap:var(--step-6);>section{display:flex;flex-direction:column;gap:var(--step-4)}& div:has(>label){display:flex;flex-direction:column;gap:.1875rem;max-inline-size:28rem}& label{display:flex;flex-direction:column;gap:var(--step-1);font-size:var(--size-base);color:var(--ink-soft)}& label:has(input[type=checkbox])>span{display:flex;align-items:center;gap:var(--step-2);color:var(--ink)}& label+p{font-size:var(--size-sm);color:var(--clay-ink)}>footer{display:flex;flex-wrap:wrap;align-items:center;gap:var(--step-4);font-size:var(--size-base);color:var(--ink-soft)}>footer>p{flex-basis:100%;color:var(--ochre)}}body{display:flex;align-items:stretch;min-block-size:100vh}body>div[data-phx-main]{display:contents}:is(body,div[data-phx-main])>nav{inline-size:var(--rail);flex-shrink:0;display:flex;flex-direction:column;gap:var(--step-6);padding:var(--step-6) .875rem var(--step-5);background:var(--ground);border-inline-end:1px solid var(--edge);>a{display:flex;align-items:center;gap:var(--step-2);padding-inline-start:.625rem;font-family:var(--font-title);font-size:1.1875rem;&:hover{color:inherit;text-decoration:none}& svg{color:var(--green)}}>ul{flex-grow:1;display:flex;flex-direction:column;gap:1px;& a{display:flex;align-items:center;block-size:var(--rail-row);padding-inline:var(--step-3);border-radius:var(--radius);color:var(--ink-quiet);font-size:var(--size-base);&:hover{background:var(--ground);color:var(--ink);text-decoration:none}&[aria-current=page]{background:var(--green-wash);color:var(--green-ink);font-weight:600}}}>div{>button{display:flex;align-items:center;gap:var(--step-2);inline-size:100%;block-size:var(--rail-row);padding-inline:var(--step-3);border:0;border-radius:var(--radius);background:none;color:var(--ink);font-size:var(--size-base);text-align:start;&:hover{background:var(--ground);color:var(--ink)}}& b{display:inline-flex;align-items:center;justify-content:center;inline-size:1.5625rem;block-size:1.5625rem;border-radius:var(--pill);background:var(--green-wash);color:var(--green-ink);font-size:var(--size-xs);font-weight:600}& span{flex-grow:1}>[popover]{position:fixed;inset:auto auto calc(var(--step-5) + var(--rail-row) + var(--step-2)) .875rem;inline-size:calc(var(--rail) - 1.75rem);margin:0;padding:var(--step-1);border:1px solid var(--edge);border-radius:var(--radius);background:var(--sheet);box-shadow:0 6px 16px #1b2b201a;& a{display:flex;align-items:center;block-size:2rem;padding-inline:var(--step-3);border-radius:var(--radius);font-size:var(--size-base);color:var(--ink-quiet);&:hover{background:var(--ground);color:var(--ink);text-decoration:none}}}}}main{flex-grow:1;display:flex;flex-direction:column;gap:var(--step-8);padding-block:var(--step-9) 3.5rem;padding-inline:max(var(--step-6),(100% - var(--measure)) / 2)}main>header{display:flex;align-items:baseline;gap:var(--step-4);& h1{flex-grow:1}>:is(p,a){font-size:var(--size-base);color:var(--ink-soft)}}main>header:has(>a:first-child){gap:0;>h1:before{content:"\203a";margin-inline:var(--step-3);font-family:var(--font-text);font-size:var(--size-base);color:var(--ink-faint)}}main>section{display:flex;flex-direction:column;gap:var(--step-3)}main section>ol>li{display:flex;flex-wrap:wrap;align-items:baseline;gap:.875rem;padding-block:.625rem;border-block-end:1px solid var(--rule);>span:first-child{min-inline-size:11rem}>span:not(:first-child){color:var(--ink-soft);font-variant-numeric:tabular-nums}>div{margin-inline-start:auto;display:flex;align-items:baseline;gap:.875rem}}main section>ol>li[data-tone=wrong]>span{color:var(--clay-ink)}main.at-a-glance,main:has(>.balance-sheet){display:grid;grid-template-columns:1fr 15rem;column-gap:var(--step-9);align-content:start;align-items:start;>header{grid-column:1 / -1}>div{display:flex;flex-direction:column;gap:var(--step-8);>section{display:flex;flex-direction:column;gap:var(--step-3)}}}main.styleguide>section{display:flex;flex-direction:column;gap:var(--step-4);>div{display:flex;flex-wrap:wrap;align-items:center;gap:var(--step-3)}>ul{display:grid;grid-template-columns:repeat(auto-fill,minmax(9rem,1fr));gap:var(--step-4);>li{display:flex;flex-direction:column;gap:var(--step-2);font-size:var(--size-base);&:before{content:"";block-size:2.875rem;border:1px solid var(--edge);border-radius:var(--radius);background:var(--swatch)}}}>dl{display:grid;grid-template-columns:1fr auto;gap:var(--step-3) var(--step-4);align-items:baseline;>dd{font-size:var(--size-sm);color:var(--ink-soft)}}}main.sign-in{display:flex;flex-direction:column;gap:var(--step-4);max-inline-size:26rem;margin-inline:auto;padding-block:6rem;padding-inline:var(--step-6);>p{font-size:var(--size-base);color:var(--ink-soft)}>ul{display:flex;flex-direction:column;gap:var(--step-2);& a{display:flex;align-items:center;block-size:2.75rem;padding-inline:var(--step-4);border:1px solid var(--edge);border-radius:var(--radius);font-weight:500;&:hover{border-color:var(--green);background:var(--ground);color:var(--green);text-decoration:none}}}}main.balances{display:grid;grid-template-columns:15rem 1fr;column-gap:var(--step-9);align-content:start;align-items:start;>:is(header,form,p){grid-column:1 / -1}>form{max-inline-size:12rem}>nav>ul{display:flex;flex-direction:column;gap:1px;& a{display:flex;align-items:baseline;justify-content:space-between;gap:var(--step-3);padding:.4375rem var(--step-3);border-radius:var(--radius);font-size:var(--size-base);font-variant-numeric:tabular-nums;>span:last-child{white-space:nowrap}&:hover{background:var(--ground);color:var(--ink);text-decoration:none}&[aria-current=page]{background:var(--green-wash);color:var(--green-ink);font-weight:600}}}>div{display:flex;flex-direction:column;gap:var(--step-8);>section{display:flex;flex-direction:column;gap:var(--step-3)}}.balance-sheet>dl{display:flex;align-items:baseline;gap:var(--step-3);padding-block-start:var(--step-3);>:is(dt,dd){padding-block:0}}}main.request-leave{>form{flex-flow:row wrap;align-items:start;gap:var(--step-8) var(--step-9);>section{flex:1 1 26rem;max-inline-size:30rem}>footer{flex-basis:100%;flex-wrap:wrap;>ul{flex-basis:100%;color:var(--clay-ink)}}}.paired{display:flex;gap:var(--step-4);max-inline-size:28rem;>div{flex:1}}& table{table-layout:fixed;max-inline-size:19rem}& thead th:first-child{inline-size:9rem}& tbody :is(th,td){padding-block:.3125rem;border-block-end:0;font-weight:400;font-variant-numeric:tabular-nums}& tbody td{padding-inline-start:var(--step-3);box-shadow:inset 2px 0 0 var(--rule-firm)}& tbody tr:not([data-working=no]) td{box-shadow:inset 2px 0 0 var(--green)}& tbody tr[data-working=no] :is(th,td){color:var(--ink-faint)}& tfoot :is(th,td){padding-block-start:var(--step-2);border-block-start:1px solid var(--rule-firm);font-variant-numeric:tabular-nums}& tfoot td{padding-inline-start:var(--step-3)}& dl{display:grid;grid-template-columns:9.75rem auto;font-size:var(--size-base)}& dt{color:var(--ink-soft)}& dd[data-tone=wrong]{color:var(--clay-ink)}}main.who-is-away{& section>header{align-items:center;gap:.375rem}& section>div{overflow-x:auto}& table{inline-size:auto;border-collapse:separate;border-spacing:2px}& thead th{inline-size:1.375rem;padding:0 0 var(--step-2);border:0;font-size:var(--size-xs);color:var(--ink-faint);text-align:center}& thead th:first-child{inline-size:10rem;text-align:start}& tbody th{padding:0 var(--step-3) 0 0;border:0;white-space:nowrap}& tbody td{inline-size:1.375rem;block-size:1.375rem;padding:0;border:0;border-radius:.3125rem;background:var(--ground);color:transparent;text-align:center}& td[data-working=no]{background:transparent}.legend>li[data-leave=approved]:before,td[data-leave=approved]{background:var(--green-mark)}& td[data-leave=pending]{border:1px dashed var(--green);background:transparent}& td[data-holiday]{background:var(--ochre-wash)}& td[data-today]{box-shadow:inset 0 0 0 1.5px var(--green)}}main.approvals>ol>li{display:flex;flex-direction:column;gap:var(--step-2);padding-block:var(--step-4);border-block-end:1px solid var(--rule);>p:first-child{display:flex;align-items:baseline;gap:.875rem;font-weight:500;>span{font-weight:400;font-variant-numeric:tabular-nums}>span:first-of-type{flex-grow:1}}>p+p{font-size:var(--size-base);color:var(--ink-soft)}>form{flex-direction:row;align-items:center;gap:var(--step-2);padding-block-start:var(--step-1);>input{max-inline-size:22rem}}}:is(main.people,main.settings) tbody tr:has(th a):not(:has(button)){position:relative;&:hover{background:var(--panel)}& th a{&:hover{text-decoration:none}&:after{content:"";position:absolute;inset:0}}}main.people{& section:not(.balance-sheet)>dl{display:grid;grid-template-columns:9rem 1fr;gap:var(--step-2) var(--step-4);font-size:var(--size-base);>dt{color:var(--ink-soft)}}}main.settings section>ol>li{>p{flex-basis:100%;font-size:var(--size-base);color:var(--ink-soft)}>p:first-child{display:flex;gap:.875rem;font-size:var(--size-md);color:var(--ink);>span:first-child{min-inline-size:11rem;font-weight:500}>span+span{color:var(--ink-soft);font-size:var(--size-base)}}>div{display:flex;align-items:center;gap:var(--step-3);font-size:var(--size-base)}}section>header{display:flex;align-items:baseline;gap:.875rem;padding-block-end:.625rem;border-block-end:1px solid var(--rule-firm);>h2{flex-grow:1}>:is(p,a){font-size:var(--size-base);color:var(--ink-soft)}}.add{display:inline-flex;align-items:center;gap:.3125rem;padding:.1875rem .6875rem;border:1px solid var(--edge);border-radius:var(--pill);background:var(--sheet);color:var(--ink-quiet);font-size:var(--size-sm);&:before{content:"+";font-size:var(--size-md);line-height:1}&:hover{border-color:var(--green);color:var(--green);text-decoration:none}}.button{display:inline-flex;align-items:center;block-size:2.3125rem;padding-inline:1.125rem;border:0;border-radius:var(--pill);background:var(--green);color:var(--sheet);font-size:var(--size-base);font-weight:600;&:hover{background:var(--green-ink);color:var(--sheet);text-decoration:none}&:disabled{background:var(--ink-faint);cursor:not-allowed}}.standing{display:inline-flex;align-items:center;block-size:1.5rem;padding-inline:.6875rem;border-radius:var(--pill);background:var(--ochre-wash);color:var(--ochre);font-size:var(--size-sm);font-weight:500;&[data-standing=approved]{background:var(--green-wash);color:var(--green-ink)}&[data-standing=taken]{background:var(--panel);color:var(--green-ink)}&[data-standing=declined]{background:var(--clay-wash);color:var(--clay-ink)}&[data-standing=cancelled]{background:var(--settled-wash);color:var(--settled)}}.tabs>ul{display:flex;flex-wrap:wrap;gap:var(--step-1);border-block-end:1px solid var(--rule-firm);& a{display:flex;align-items:center;block-size:2.125rem;padding-inline:var(--step-3);border-radius:var(--radius) var(--radius) 0 0;color:var(--ink-quiet);font-size:var(--size-base);&:hover{background:var(--ground);color:var(--ink);text-decoration:none}&[aria-current=page]{background:var(--green-wash);color:var(--green-ink);font-weight:600}}}.step{display:flex;align-items:center;justify-content:center;inline-size:var(--day);block-size:var(--day);flex-shrink:0;border:1px solid var(--edge);border-radius:var(--pill);color:var(--ink-soft);&:hover{border-color:var(--green);color:var(--green);text-decoration:none}}.legend{display:flex;flex-wrap:wrap;align-items:center;gap:1.125rem;font-size:var(--size-sm);color:var(--ink-soft);>li{display:inline-flex;align-items:center;gap:.375rem}>li[data-leave]:before,>li[data-holiday]:before,>li[data-today]:before{content:"";inline-size:.8125rem;block-size:.8125rem;border-radius:.25rem}>li[data-leave=approved]:before{background:var(--green-wash)}>li[data-leave=pending]:before{border:1px dashed var(--green)}>li[data-holiday]:before{background:var(--ochre-wash)}>li[data-today]:before{box-shadow:inset 0 0 0 1.5px var(--green)}}.calendar{display:flex;flex-direction:column;gap:var(--step-4);>header{align-items:center;gap:.375rem}>div{display:flex;gap:1.125rem}& table{inline-size:auto;border-collapse:separate;border-spacing:3px}& th{inline-size:var(--day);block-size:1rem;padding:0;border:0;font-size:var(--size-xs);color:var(--ink-faint);text-align:center}& td{inline-size:var(--day);block-size:var(--day);padding-block:.375rem 0;padding-inline:0;border:0;border-radius:.4375rem;font-size:var(--size-sm);line-height:1;font-variant-numeric:tabular-nums;text-align:center}& td[data-working=no]{color:var(--ink-faint)}& td[data-leave=approved]{background:var(--green-wash);color:var(--green-ink);font-weight:600}& td[data-leave=pending]{outline:1px dashed var(--green);outline-offset:-1px;color:var(--green-ink);font-weight:600}& td[data-holiday]{background:var(--ochre-wash);color:var(--ochre);font-weight:600}& td[data-today]{box-shadow:inset 0 0 0 1.5px var(--green)}}.balance-sheet{padding:1.125rem var(--step-5) var(--step-5);border-radius:var(--radius-panel);background:var(--panel);>header{padding-block-end:0;border-block-end:0}& dt{padding-block-start:.8125rem;font-size:var(--size-base);color:var(--ink-soft)}& dt:not(:first-of-type){border-block-start:1px solid var(--rule-panel)}& dd{padding-block-end:.8125rem;font-size:var(--size-figure);font-weight:500;font-variant-numeric:tabular-nums}& dd:has(+dd){padding-block-end:0}& dd+dd{font-size:var(--size-sm);font-weight:400;color:var(--ochre)}& dd[data-awaiting]{color:var(--waiting)}}.requests{display:flex;flex-direction:column;gap:var(--step-3);& tbody th{font-variant-numeric:tabular-nums;white-space:nowrap}& tbody td:nth-child(3){white-space:nowrap;tr[data-tone=past] &{text-decoration:line-through;text-decoration-color:var(--ink-faint)}}& tbody :is(a,button)+:is(a,button){margin-inline-start:var(--step-3)}>p{padding-block-start:var(--step-3);font-size:var(--size-base);color:var(--ink-soft)}}
