:root{--mt-green:#49bc72;--mt-green-dark:#35a05c;--mt-green-light:#6fd494;--mt-green-muted:#49bc721f;--mt-bg-base:#0a0a0a;--mt-bg-surface:#111;--mt-bg-elevated:#1a1a1a;--mt-bg-subtle:#222;--mt-border:#2a2a2a;--mt-border-strong:#3a3a3a;--mt-text-primary:#f0f0f0;--mt-text-secondary:#888;--mt-text-muted:#555;--mt-warning:#f5a623;--mt-error:#e05252;--mt-info:#4a9eff;--font-display:"Comfortaa", "Gotham Rounded", sans-serif;--font-body:"DM Sans", "Helvetica Neue", sans-serif;--font-mono:"JetBrains Mono", "Fira Code", monospace;--mt-radius-sm:4px;--mt-radius-md:8px;--mt-radius-lg:12px;--mt-radius-xl:16px;--mt-radius-full:9999px;--mt-topbar:#000;--mt-on-green:#000;--mt-stripe:#2a2a2a;--mt-pending-gap:#1f3a29;--chart-taken:#35a05c;--chart-sick:#d9702a;--chart-holiday:#3a86e0;--chart-available:#444;--chart-empty:#1c1c1c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:var(--font-body);color:var(--mt-text-primary);background:var(--mt-bg-base);line-height:1.6}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--mt-green:#23854a;--mt-green-dark:#1c6e3d;--mt-green-light:#49bc72;--mt-green-muted:#23854a1a;--mt-bg-base:#fff;--mt-bg-surface:#f7f7f7;--mt-bg-elevated:#efefef;--mt-bg-subtle:#ececec;--mt-border:#e0e0e0;--mt-border-strong:#c8c8c8;--mt-text-primary:#0f0f0f;--mt-text-secondary:#555;--mt-text-muted:#8a8a8a;--mt-warning:#a86400;--mt-error:#c93a3a;--mt-info:#1f6fd1;--mt-topbar:#fff;--mt-on-green:#fff;--mt-stripe:#d6d6d6;--mt-pending-gap:#d3eadb;--chart-available:#b8b8b8;--chart-empty:#e6e6e6;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}}:root[data-theme=light]{--mt-green:#23854a;--mt-green-dark:#1c6e3d;--mt-green-light:#49bc72;--mt-green-muted:#23854a1a;--mt-bg-base:#fff;--mt-bg-surface:#f7f7f7;--mt-bg-elevated:#efefef;--mt-bg-subtle:#ececec;--mt-border:#e0e0e0;--mt-border-strong:#c8c8c8;--mt-text-primary:#0f0f0f;--mt-text-secondary:#555;--mt-text-muted:#8a8a8a;--mt-warning:#a86400;--mt-error:#c93a3a;--mt-info:#1f6fd1;--mt-topbar:#fff;--mt-on-green:#fff;--mt-stripe:#d6d6d6;--mt-pending-gap:#d3eadb;--chart-available:#b8b8b8;--chart-empty:#e6e6e6;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}body{margin:0}h1,h2{font-family:var(--font-display);font-weight:700;line-height:1.25}h1{margin:0 0 4px;font-size:2rem}h2{margin:32px 0 12px;font-size:1.25rem}button,input,select,textarea{font:inherit;color:inherit}button{color:var(--mt-green);border:1px solid var(--mt-green);border-radius:var(--mt-radius-md);cursor:pointer;background:0 0;padding:10px 20px;font-size:.875rem;font-weight:500;transition:background .15s,transform .1s}button:hover:not(:disabled){background:var(--mt-green-muted)}button:disabled{color:var(--mt-text-muted);border-color:var(--mt-border-strong);cursor:not-allowed}button.primary{background:var(--mt-green);border-color:var(--mt-green);color:var(--mt-on-green);font-weight:600}button.primary:hover:not(:disabled){background:var(--mt-green-dark)}button.primary:active:not(:disabled){transform:scale(.98)}button.primary:disabled{background:var(--mt-bg-subtle);border-color:var(--mt-bg-subtle);color:var(--mt-text-muted)}button.quiet{color:var(--mt-text-secondary);border-color:var(--mt-border-strong)}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--mt-green);outline-offset:2px}input,select,textarea{background:var(--mt-bg-subtle);border:1px solid var(--mt-border-strong);border-radius:var(--mt-radius-md);box-sizing:border-box;width:100%;color-scheme:inherit;padding:10px 12px}.topbar{background:var(--mt-topbar);border-bottom:1px solid var(--mt-border);justify-content:space-between;align-items:center;padding:12px 24px;display:flex}.topbar img,.signin-logo{mix-blend-mode:lighten}.topbar img{height:36px;display:block}.shell{max-width:960px;margin:0 auto;padding:40px 16px 64px}.shell.narrow{max-width:520px}.signin-logo{width:180px;margin-bottom:32px;display:block}.eyebrow{color:var(--mt-green);font-family:var(--font-body);text-transform:uppercase;letter-spacing:.15em;margin:0 0 8px;font-size:.75rem;font-weight:600}.accent-line{background:var(--mt-green);border-radius:2px;width:40px;height:3px;margin:12px 0 16px}.muted{color:var(--mt-text-secondary)}.small{font-size:.8125rem}.mono{font-family:var(--font-mono);font-size:.8125rem}.error{white-space:pre-line;color:var(--mt-error);margin:0}.notice{border:1px solid var(--mt-warning);color:var(--mt-warning);border-radius:var(--mt-radius-lg);padding:12px 16px}.card{background:var(--mt-bg-surface);border:1px solid var(--mt-border);border-radius:var(--mt-radius-xl);margin-top:16px;padding:24px}.card h2{margin-top:0}.form{gap:16px;display:grid}.form label{color:var(--mt-text-secondary);gap:6px;font-size:.875rem;font-weight:500;display:grid}.two{grid-template-columns:1fr 1fr;gap:12px;display:grid}.stats{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin:24px 0 0;display:grid}.stats>div{background:var(--mt-bg-surface);border:1px solid var(--mt-border);border-radius:var(--mt-radius-xl);padding:20px 24px}.stats .hero{border-color:var(--mt-green)}.stats dt{text-transform:uppercase;letter-spacing:.1em;color:var(--mt-text-secondary);font-size:.75rem;font-weight:600}.stats dd{font-family:var(--font-display);margin:4px 0 0;font-size:1.75rem;font-weight:700}.stats dd .unit{font-family:var(--font-body);color:var(--mt-text-secondary);margin-left:4px;font-size:.875rem;font-weight:500}.stats .detail{color:var(--mt-text-secondary);margin-top:4px;font-size:.8125rem}.actions{flex-wrap:wrap;gap:12px;margin-top:24px;display:flex}.list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.list li{background:var(--mt-bg-surface);border:1px solid var(--mt-border);border-radius:var(--mt-radius-lg);justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;display:flex}.list li:hover{border-color:var(--mt-border-strong)}.list li>div:first-child{gap:2px;display:grid}.row-end{align-items:center;gap:10px;display:flex}.badge{border-radius:var(--mt-radius-full);background:var(--mt-bg-subtle);color:var(--mt-text-secondary);white-space:nowrap;align-items:center;padding:3px 10px;font-size:.75rem;font-weight:600;display:inline-flex}.badge.approved{background:var(--mt-green-muted);color:var(--mt-green)}.badge.awaitingManager{color:var(--mt-info);background:#4a9eff1f}.badge.warn{color:var(--mt-warning);background:#f5a6231f}.badge.rejected,.badge.cancelled,.badge.withdrawn{color:var(--mt-text-muted)}.people{gap:8px;margin:12px 0 0;padding:0;list-style:none;display:grid}.people button{text-align:left;width:100%;color:var(--mt-text-primary);border-color:var(--mt-border-strong);background:var(--mt-bg-elevated);gap:2px;display:grid}.people button:hover{border-color:var(--mt-green)}@media (width<=560px){.two{grid-template-columns:1fr}.list li{flex-direction:column;align-items:flex-start}.topbar .email{display:none}}button.wide{width:100%;margin:8px 0 12px}label.check{color:var(--mt-text-primary);align-items:center;gap:8px;display:flex}label.check input{width:auto;accent-color:var(--mt-green)}.hero-card{gap:20px;margin-top:24px;display:grid}.hero-card .actions{margin-top:0}.hero-number{flex-wrap:wrap;align-items:baseline;gap:12px;display:flex}.hero-number .value{font-family:var(--font-display);font-size:3.5rem;font-weight:700;line-height:1}.hero-number .label{color:var(--mt-text-primary);font-size:1rem}.stats dd.text{font-size:1.125rem}.balance-bar{gap:10px;margin:0;display:grid}.bar-track{gap:2px;height:16px;display:flex}.bar-segment{flex-basis:0;min-width:4px}.bar-segment:first-child{border-radius:4px 0 0 4px}.bar-segment:last-child{border-radius:0 4px 4px 0}.bar-segment:only-child{border-radius:4px}.legend{color:var(--mt-text-secondary);flex-wrap:wrap;gap:6px 16px;font-size:.8125rem;display:flex}.legend span{align-items:center;gap:6px;display:inline-flex}.legend strong{color:var(--mt-text-primary)}.swatch{border-radius:2px;width:10px;height:10px;display:inline-block}.swatch.blackout,.cell.blackout{box-shadow:inset 0 0 0 1px var(--mt-text-muted)}.swatch.today{box-shadow:inset 0 0 0 2px var(--mt-text-primary)}.year-strip{background:var(--mt-bg-surface);border:1px solid var(--mt-border);border-radius:var(--mt-radius-xl);gap:12px;margin:0;padding:20px 24px;display:grid;position:relative}.strip-scroll{padding-top:4px;position:relative;overflow-x:auto}.strip{grid-auto-rows:12px;gap:3px;width:max-content;display:grid}.month-label,.day-label{color:var(--mt-text-secondary);white-space:nowrap;font-size:.6875rem;line-height:12px}.cell{border-radius:2px}.cell.today{box-shadow:inset 0 0 0 2px var(--mt-text-primary)}.tooltip{background:var(--mt-bg-elevated);border:1px solid var(--mt-border-strong);border-radius:var(--mt-radius-md);pointer-events:none;white-space:nowrap;z-index:2;gap:2px;padding:8px 10px;font-size:.8125rem;display:grid;position:absolute;transform:translate(-50%,calc(-100% - 8px))}.tooltip span{color:var(--mt-text-secondary)}.success{border:1px solid var(--mt-green);background:var(--mt-green-muted);color:var(--mt-text-primary);border-radius:var(--mt-radius-lg);justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;display:flex}.request-panel{gap:16px;display:grid}.request-panel .muted.small{margin:0}.segmented{border:1px solid var(--mt-border-strong);border-radius:var(--mt-radius-md);gap:3px;width:fit-content;padding:3px;display:inline-flex}.segmented button{color:var(--mt-text-secondary);border:none;padding:8px 16px}.segmented button.on{background:var(--mt-green-muted);color:var(--mt-green)}.month-calendar{position:relative}.month-nav{gap:6px;display:flex;position:absolute;top:-6px;right:0}.month-nav button{padding:4px 12px}.months{grid-template-columns:1fr 1fr;gap:32px;display:grid}.month-title{font-family:var(--font-display);margin-bottom:10px;font-weight:700}.month-grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.weekday{letter-spacing:.08em;text-transform:uppercase;color:var(--mt-text-secondary);text-align:center;font-size:.6875rem;font-weight:600}.day{aspect-ratio:1;border-radius:var(--mt-radius-md);color:var(--mt-text-primary);background:var(--mt-bg-subtle);border:1px solid #0000;padding:0;font-size:.875rem;position:relative}.day:hover:not(:disabled):not(.range-start):not(.range-end){border-color:var(--mt-green);background:var(--mt-bg-subtle)}.day.off{color:var(--mt-text-muted);background:0 0}.day.blackout{background:repeating-linear-gradient(135deg, var(--mt-stripe) 0 3px, transparent 3px 7px);color:var(--mt-text-secondary)}.day.past{color:var(--mt-text-muted);background:0 0}.day.mine{box-shadow:inset 0 -3px 0 var(--chart-taken)}.day.selected{background:var(--mt-green-muted);border-color:#0000}.day.selected.off{background:0 0;border:1px dashed #49bc7266}.day.range-start,.day.range-end{background:var(--mt-green);color:var(--mt-on-green);font-weight:600}.day.today{border-color:var(--mt-text-secondary)}.out-dot{background:#3a86e0;border-radius:50%;width:6px;height:6px;position:absolute;top:4px;right:4px}.out-dot.static{display:inline-block;position:static}.calendar-key{flex-wrap:wrap;gap:6px 16px;display:flex}.calendar-key span{align-items:center;gap:6px;display:inline-flex}.calendar-key i{border-radius:3px;width:12px;height:12px;display:inline-block}.calendar-key i.out-dot{border-radius:50%;width:6px;height:6px}.key-selected{background:var(--mt-green)}.key-off{border:1px solid var(--mt-border-strong)}.key-blackout{background:repeating-linear-gradient(135deg, var(--mt-text-muted) 0 2px, transparent 2px 4px)}.summary{background:var(--mt-bg-elevated);border-radius:var(--mt-radius-lg);gap:8px;padding:16px;display:grid}.summary p{margin:0}.summary-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.summary-head .count{font-family:var(--font-display);font-weight:700}.warn-text{color:var(--mt-warning)}.violations{border:1px solid var(--mt-error);border-radius:var(--mt-radius-md);justify-items:start;gap:10px;padding:10px 14px;display:grid}.violations ul{color:var(--mt-error);margin:0;padding-left:18px;font-size:.875rem}@media (width<=720px){.months{grid-template-columns:1fr}.second-month{display:none}}.email-row{align-items:flex-start}.email-row>div:first-child{flex:1;min-width:0}.email-preview{border-radius:var(--mt-radius-md);background:#fff;border:0;width:100%;height:420px;margin-top:10px}.tabs{border-bottom:1px solid var(--mt-border);gap:4px;margin:24px 0 8px;display:flex;overflow-x:auto}.tabs button{color:var(--mt-text-secondary);border:none;border-bottom:2px solid #0000;border-radius:0;align-items:center;gap:8px;padding:10px 16px;display:inline-flex}.tabs button.on{color:var(--mt-text-primary);border-bottom-color:var(--mt-green)}.tabs button:hover:not(:disabled){color:var(--mt-text-primary);background:0 0}.count-badge{background:var(--mt-green);color:var(--mt-on-green);border-radius:var(--mt-radius-full);padding:1px 7px;font-size:.6875rem;font-weight:700}.section-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.section-head h2{margin-bottom:12px}.queue-card{gap:12px;display:grid}.queue-card p{margin:0}.queue-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.queue-facts{flex-wrap:wrap;gap:12px 32px;display:flex}.queue-facts>div{gap:2px;display:grid}.quote{border-left:3px solid var(--mt-border-strong);color:var(--mt-text-secondary);padding-left:12px}.decision{gap:10px;display:grid}.actions.tight{margin-top:0}button.danger{color:var(--mt-error);border-color:var(--mt-error)}button.danger:hover:not(:disabled){background:#e052521f}.inline-form{flex-wrap:wrap;align-items:center;gap:8px;margin:6px 0;display:flex}.inline-form input:not([type=checkbox]){flex:160px;width:auto}.inline-form select{flex:none;width:auto}.inline-form input[type=date]{flex:none}.inline-form .narrow-input{flex:0 0 100px}.inline-form .error{flex-basis:100%}.table-scroll{border:1px solid var(--mt-border);border-radius:var(--mt-radius-xl);overflow-x:auto}table.data{border-collapse:collapse;width:100%;font-size:.875rem}table.data th{text-align:left;letter-spacing:.08em;text-transform:uppercase;color:var(--mt-text-secondary);border-bottom:1px solid var(--mt-border);white-space:nowrap;padding:12px 14px;font-size:.6875rem;font-weight:600}table.data td{border-bottom:1px solid var(--mt-border);vertical-align:top;padding:12px 14px}table.data tr:last-child td{border-bottom:none}table.data tr.open td{background:var(--mt-bg-elevated)}table.data .num{text-align:right;font-variant-numeric:tabular-nums}table.data .strong{color:var(--mt-text-primary);font-weight:700}.nowrap{white-space:nowrap}.person-detail{gap:8px;padding:8px 4px 16px;display:grid}.person-detail h3{font-family:var(--font-display);margin:16px 0 4px;font-size:1rem}ul.plain{margin:4px 0;padding-left:18px}.list.compact li{padding:10px 14px}.out-grid{grid-template-columns:repeat(5,1fr);gap:6px;display:grid}.out-day{background:var(--mt-bg-surface);border:1px solid var(--mt-border);border-radius:var(--mt-radius-md);flex-direction:column;gap:4px;min-height:64px;padding:6px 8px;display:flex}.out-day.busy{border-color:var(--mt-border-strong)}.chip{border-radius:var(--mt-radius-full);background:var(--chart-taken);color:var(--mt-on-green);width:fit-content;padding:1px 8px;font-size:.75rem;font-weight:600}.chip.pending{background:repeating-linear-gradient(135deg, var(--chart-taken) 0 3px, var(--mt-pending-gap) 3px 6px);color:var(--mt-text-primary)}@media (width<=560px){.out-grid{grid-template-columns:repeat(2,1fr)}.queue-head{flex-direction:column}}.small-button{margin:4px 0 8px;padding:4px 10px;font-size:.8125rem}@media (width<=560px){.out-grid>span{display:none}}.out-day.holiday{background:0 0;border-style:dashed}.button-link{border:1px solid var(--mt-green);color:var(--mt-green);border-radius:var(--mt-radius-md);cursor:pointer;align-items:center;padding:10px 20px;font-size:.875rem;font-weight:500;text-decoration:none;display:inline-flex}.button-link:hover{background:var(--mt-green-muted);color:var(--mt-green)}:root[data-theme=light] .topbar img,:root[data-theme=light] .signin-logo{filter:invert()hue-rotate(180deg);mix-blend-mode:darken}@media (prefers-color-scheme:light){:root:not([data-theme=dark]) .topbar img,:root:not([data-theme=dark]) .signin-logo{filter:invert()hue-rotate(180deg);mix-blend-mode:darken}}.theme-toggle{padding:6px 12px;font-size:.8125rem}.shell>.theme-toggle{margin-top:24px}.form>button{justify-self:start}.badge.sick{background:color-mix(in srgb, var(--chart-sick) 15%, transparent);color:var(--chart-sick)}.list.dense li{padding:8px 14px}.list.dense .quiet{padding:4px 10px;font-size:.8125rem}.year-label{letter-spacing:.1em;text-transform:uppercase;color:var(--mt-text-secondary);margin:16px 0 4px;font-size:.75rem;font-weight:600}.out-day.today{border-color:var(--mt-text-secondary)}.tabs{scrollbar-width:none}@media (width<=560px){.form>button{justify-self:stretch}.tabs button{flex:none;padding:10px}}.small-heading{margin:16px 0 4px;font-size:.875rem}.cell-email{text-overflow:ellipsis;white-space:nowrap;max-width:200px;display:block;overflow:hidden}table.data.balances th,table.data.balances td{padding:10px}table.data.balances td:first-child,table.data.balances th:first-child{padding-left:14px}table.data.balances .quiet{padding:4px 10px;font-size:.8125rem}.person-detail{max-width:calc(100vw - 60px);position:sticky;left:0}.shell.wide{max-width:1200px}.shell.wide .cell-email{max-width:300px}button[aria-busy=true]{cursor:progress;justify-content:center;align-items:center;gap:8px;display:inline-flex}button[aria-busy=true]:before{content:"";border:2px solid;border-right-color:#0000;border-radius:50%;flex:none;width:.9em;height:.9em;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){button[aria-busy=true]:before{animation-duration:2s}}button.primary[aria-busy=true]:disabled{background:var(--mt-green);border-color:var(--mt-green);color:var(--mt-on-green);opacity:.85}button:not(.primary)[aria-busy=true]:disabled{color:var(--mt-text-secondary)}.loader{color:var(--mt-text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:64px 0;font-size:.875rem;font-weight:500;display:flex}#root>.loader{min-height:100vh;padding:0}.loader svg{width:44px;height:44px;fill:var(--mt-green);overflow:visible}.loader .bracket-l{animation:1.2s ease-in-out infinite bracket-l}.loader .bracket-r{animation:1.2s ease-in-out infinite bracket-r}@keyframes bracket-l{50%{transform:translate(-4px)}}@keyframes bracket-r{50%{transform:translate(4px)}}@media (prefers-reduced-motion:reduce){.loader .bracket-l,.loader .bracket-r{animation:none}}
