@font-face{font-family:Michroma;src:url('/assets/Michroma-Regular.woff2') format('woff2');font-weight:400;font-display:swap}
:root{color-scheme:light;--paper:#f2f0eb;--ink:#101413;--muted:#626964;--orange:#f75c27;--orange-dark:#b83d0d;--line:#dcded9;--font-brand:Michroma,Eurostile,'Bank Gothic',sans-serif;font-family:Arial,Helvetica,system-ui,sans-serif;font-size:15px;color:var(--ink);background:var(--paper)}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,input,select,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{cursor:default;opacity:.5}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--orange);outline-offset:4px}[hidden]{display:none!important}h1,h2,h3,p{margin:0}.logo{width:190px;height:auto;display:block}.appbar{height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 36px;border-bottom:1px solid var(--line);background:#fff}.appbar nav{display:flex;align-items:center;gap:18px}.tracker-link{font-size:12px;padding:10px 13px;border:1px solid #d4d8d4;border-radius:4px}.tracker-link:hover{border-color:#767d77}.identity-button{border:0;background:transparent;font-size:12px;font-weight:600;padding:10px 4px}.quiet{border:0;background:transparent;font-size:12px;color:var(--muted);padding:8px}.quiet:hover{color:var(--ink);text-decoration:underline}.page{max-width:820px;margin:auto;padding:42px 24px 24px}.page.week-mode{max-width:1180px}.page-title h1{font:400 23px/1.5 var(--font-brand);letter-spacing:-.5px}.date-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:24px 0 20px}.view-switch{display:flex;background:#e5e5df;padding:3px;border-radius:5px}.view-switch button{border:0;background:transparent;border-radius:3px;padding:9px 19px;font-size:13px;font-weight:600;color:#656b66;min-width:69px}.view-switch button[aria-pressed=true]{background:var(--ink);color:#fff}.date-navigation{display:flex;align-items:center;gap:6px}.arrow{border:0;background:transparent;width:32px;height:36px;font-size:25px;line-height:1;border-radius:4px;color:#626964}.arrow:hover{background:#e6e5e0}.date-picker{position:relative;cursor:pointer;min-width:170px;text-align:center;font-size:13px;font-weight:600}.date-picker input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.date-picker input::-webkit-calendar-picker-indicator{position:absolute;inset:0;width:auto;height:auto;cursor:pointer}.card{background:#fff;border:1px solid var(--line);border-radius:7px;overflow:hidden}.signup-card{padding:30px}.card-heading{display:flex;align-items:center;justify-content:space-between;gap:18px}.card h2{font-size:23px;line-height:1.3;font-weight:600;letter-spacing:-.4px}.person-name{font-size:12px;color:var(--muted)}.card-description{color:var(--muted);font-size:13px;line-height:1.6;margin:9px 0 23px}.slots{display:grid;grid-template-columns:1fr 1fr;gap:14px}.slot-option{display:flex;align-items:center;gap:15px;border:1px solid #cfd4cf;border-radius:5px;padding:23px 19px;min-height:82px;cursor:pointer;position:relative;background:#fff;transition:border-color .12s,background .12s}.slot-option:hover{border-color:#7b837c;background:#fafaf8}.slot-option.selected{border:2px solid var(--orange);padding:22px 18px;background:#fff5ee}.slot-option:has(input:disabled):not(.selected){opacity:.45;cursor:default}.slot-option input,.out-option input{appearance:none;width:22px;height:22px;flex-shrink:0;margin:0;display:grid;place-items:center;background:#fff;border:1.5px solid #9da59e;border-radius:3px;cursor:pointer}.slot-option input:checked{background:var(--orange);border-color:var(--orange)}.slot-option input:checked:after,.out-option input:checked:after{content:'';width:9px;height:5px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg) translateY(-1px)}.slot-label{font-size:23px;font-weight:600;letter-spacing:-.5px}.slot-label small{display:block;font-size:11px;font-weight:400;color:var(--muted);letter-spacing:0;margin-top:5px}.signup-bottom{display:flex;justify-content:space-between;gap:15px;align-items:center;border-top:1px solid #e5e8e3;margin-top:25px;padding-top:20px}.out-option{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:14px;color:#414b43}.out-option input{width:19px;height:19px}.out-option input:checked{background:#56675b;border-color:#56675b}.save-label{font-size:12px;color:var(--muted)}.saved-heading{color:#256741}.day-off{font-size:22px;font-weight:600}.team-disclosure{margin-top:20px;border:1px solid var(--line);border-radius:6px;background:#fff;overflow:hidden}.team-disclosure>summary{display:flex;align-items:center;gap:16px;padding:19px 23px;cursor:pointer;list-style:none}.team-disclosure>summary::-webkit-details-marker{display:none}.team-disclosure>summary:after{content:'+';font-size:21px;color:#6d766e;margin-left:auto}.team-disclosure[open]>summary:after{content:'−'}.team-disclosure>summary>strong{font-size:14px;font-weight:600}.team-disclosure>summary>small{font-size:12px;color:var(--muted)}.team-disclosure[open]>summary{border-bottom:1px solid var(--line)}.team-list{list-style:none;margin:0;padding:0 23px}.team-row{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid #eceee9;padding:12px 0;min-height:49px}.team-row:last-child{border:0}.team-name{font-size:13px;display:block}.team-name small{font-size:9px;color:var(--muted);margin-left:8px}.team-row .booked-times{font-size:11px;color:var(--muted);display:block;margin-top:4px}.is-you .team-name{font-weight:600}.badge{display:inline-block;font-size:11px;font-weight:600;line-height:1.3;padding:5px 7px;border-radius:3px;white-space:nowrap}.badge.complete{color:#24683f;background:#ecf5ed}.badge.partial{color:#8c621b;background:#fff5df}.badge.missing{color:#994932;background:#fbeee8}.badge.ooo{color:#52605a;background:#edf0ec}.badge.off{color:#727a73;background:#f1f2ef}.week-card{padding:26px}.week-card h2{font-size:21px}.my-week{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px}.week-day{min-width:0}.week-day-title{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:13px}.week-day-title h3{font-size:14px;font-weight:600}.week-day-title>span{font-size:11px;color:var(--muted)}.week-day.current .week-day-title h3{color:var(--orange-dark)}.week-day .compact{padding:14px 10px;gap:10px;min-height:0;margin-bottom:8px}.week-day .compact.selected{padding:13px 9px}.compact .slot-label{font-size:14px;letter-spacing:0}.compact input{width:17px;height:17px}.week-day .out-option{font-size:12px;margin:16px 0 12px;gap:7px}.week-day .out-option input{width:16px;height:16px}.week-day .badge{font-size:10px}.week-day.holiday{border:1px dashed #d4d8cf;border-radius:5px;background:#f8f8f5;padding:15px 12px}.holiday-name{font-size:13px;line-height:1.6;margin-top:35px;color:#4c574e}.week-day.holiday p{font-size:11px;line-height:1.5;color:var(--muted);margin-top:8px}.table-scroll{overflow:auto}.team-table{width:100%;min-width:800px;border-collapse:collapse;text-align:left;font-size:12px}.team-table th,.team-table td{padding:13px 17px;border-bottom:1px solid #e9ece5}.team-table thead th{font-size:11px;color:#566058;font-weight:600;background:#f7f8f4}.team-table th:first-child{min-width:170px;position:sticky;left:0;background:#fff;z-index:1;border-right:1px solid #e9ece5}.team-table thead th:first-child{background:#f7f8f4}.team-table th small{display:block;font-size:9px;font-weight:400;color:var(--muted);margin-top:5px}.team-table .holiday{background:#f7f8f4}.team-table tbody th{font-weight:500}.team-table .booked-times{display:block;color:var(--muted);font-size:10px;line-height:1.6;margin-top:5px}.day-off-cell{font-size:11px;color:var(--muted)}.team-table tr:last-child th,.team-table tr:last-child td{border-bottom:0}.error-banner{margin:0 0 18px;background:#fff0ec;border:1px solid #edc1b2;border-radius:5px;padding:13px 16px;font-size:13px;color:#943c24}.loading{padding:45px;text-align:center;color:var(--muted);font-size:14px}footer{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:24px;color:#727a73;font-size:10px}footer>div{display:flex;align-items:center;gap:5px}footer .quiet{font-size:10px}.gate{min-height:100dvh;display:grid;place-items:center;padding:24px}.login-card{width:min(400px,100%);padding:36px}.login-card .logo{width:210px;max-width:100%;margin-bottom:37px}.login-card h1{font:400 18px/1.6 var(--font-brand);margin:0 0 28px}.login-card label,dialog label{display:block;font-size:13px;font-weight:600;margin-bottom:9px}.login-card input,dialog select{width:100%;padding:13px 12px;border:1px solid #adb5ad;border-radius:4px;background:#fff;color:var(--ink);font-size:15px}.login-card input{letter-spacing:3px}.login-card input::placeholder{letter-spacing:0;color:#777f78}.primary{border:0;background:var(--ink);color:#fff;border-radius:4px;min-height:43px;padding:12px 19px;font-size:14px;font-weight:600}.primary:hover{background:#29322d}.login-card .primary{width:100%;margin-top:17px}.error{font-size:12px;line-height:1.6;color:#9a3a22;margin:12px 0 0}.error:empty{display:none}dialog{width:min(410px,calc(100% - 32px));padding:30px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--ink);box-shadow:0 16px 60px #10141320}dialog::backdrop{background:#10141365}dialog h2{font-size:23px;font-weight:600}dialog p{font-size:13px;line-height:1.6;color:var(--muted);margin:11px 0 24px}.dialog-actions{display:flex;align-items:center;justify-content:flex-end;gap:14px;margin-top:24px}.dialog-actions .primary{min-width:120px}#toast{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);opacity:0;pointer-events:none;background:var(--ink);color:#fff;font-size:13px;padding:13px 20px;border-radius:5px;max-width:calc(100% - 30px);z-index:20}#toast.visible{opacity:1}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.slots{align-items:start}.slot-group{min-width:0}.slot-companions{font-size:12px;line-height:1.5;color:var(--muted);margin:7px 2px 0;overflow-wrap:anywhere}.companion-list>summary{cursor:pointer;list-style:none}.companion-list>summary::-webkit-details-marker{display:none}.companion-list>summary:hover{text-decoration:underline}.companion-list[open]>summary{color:var(--ink)}.companion-list ul{list-style:none;padding:0;margin:5px 0 0}.companion-list li{padding:2px 0}.week-day .slot-group{margin-bottom:8px}.week-day .slot-group .compact{margin-bottom:0}.week-day .slot-companions{font-size:11px;margin-top:5px}
@media(max-width:1000px){.my-week{gap:12px}.week-day-title{display:block}.week-day-title>span{display:block;margin-top:4px}.compact .slot-label{font-size:12px}.week-day .compact{gap:7px;padding:12px 8px}.week-day .compact.selected{padding:11px 7px}.week-day .out-option{font-size:11px}}
@media(max-width:760px){.appbar{padding:0 22px;height:68px}.appbar .logo{width:160px}.appbar nav{gap:12px}.tracker-link{font-size:11px;padding:9px}.identity-button{font-size:11px}.appbar .quiet{font-size:10px}.page{padding:30px 20px 20px}.page-title h1{font-size:21px}.date-toolbar{gap:12px}.date-navigation{gap:2px}.view-switch button{padding:9px 14px;min-width:60px}.date-picker{font-size:12px;min-width:150px}.signup-card{padding:25px}.my-week{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.week-day-title{display:flex}.week-day-title>span{margin-top:0}.week-day .compact{padding:14px 12px}.week-day .compact.selected{padding:13px 11px}.compact .slot-label{font-size:16px}.week-day .out-option{font-size:13px}.week-day{padding-bottom:16px;border-bottom:1px solid #e6e9e1}.week-card{padding:24px}footer{font-size:9px}}
@media(max-width:520px){.appbar{height:108px;padding:16px 18px;align-items:start;position:relative}.appbar .logo{width:165px}.appbar nav{gap:12px}.identity-button{max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;padding:3px 0}.tracker-link{position:absolute;bottom:13px;left:18px;font-size:11px;padding:6px 10px}.appbar .quiet{position:absolute;bottom:13px;right:14px}.page{padding:25px 16px 19px}.page-title h1{font-size:20px}.date-toolbar{flex-wrap:wrap;gap:14px;margin:21px 0 16px}.date-navigation{width:100%;justify-content:space-between}.view-switch{width:100%}.view-switch button{flex:1;padding:10px}.date-picker{min-width:205px;font-size:13px}.date-navigation .quiet{font-size:11px}.signup-card{padding:24px 20px}.card h2{font-size:23px}.card-heading{display:block}.person-name{display:block;margin-top:6px;font-size:12px}.card-description{font-size:12px;margin:9px 0 20px}.slots{gap:11px}.slot-option{padding:22px 11px;gap:10px;min-height:79px}.slot-option.selected{padding:21px 10px}.slot-label{font-size:21px}.slot-option input{width:19px;height:19px}.signup-bottom{margin-top:23px;padding-top:19px;gap:10px}.out-option{font-size:13px}.save-label{font-size:11px}.team-disclosure>summary{padding:17px 19px;gap:8px;flex-wrap:wrap}.team-disclosure>summary>strong{font-size:13px}.team-disclosure>summary>small{font-size:11px}.team-list{padding:0 18px}.team-row{gap:10px}.team-name{font-size:12px}.badge{font-size:10px}.my-week{grid-template-columns:1fr;gap:21px}.week-card{padding:23px 20px}.week-card h2{font-size:22px}.week-day-title h3{font-size:15px}.week-day-title>span{font-size:12px}.week-day .compact{padding:14px}.week-day .compact.selected{padding:13px}.compact .slot-label{font-size:17px}.week-day .out-option{font-size:13px}.week-day.holiday .holiday-name{margin-top:16px}.week-day>.badge{font-size:11px}footer{display:block;text-align:center;line-height:1.8;margin-top:19px}footer>div{justify-content:center;margin-top:5px}.login-card{padding:30px}.login-card h1{font-size:17px}dialog{padding:27px}#toast{font-size:12px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
