@charset "UTF-8";:root{color-scheme:light;--ground: #f4f6f8;--surface: #ffffff;--surface-sunken: #f8fafb;--border: #e6eaef;--border-strong: #d3d9e2;--text: #101828;--text-muted: #5b6675;--text-faint: #8d97a5;--accent: #1f3a5f;--accent-hover: #2b4c78;--accent-soft: #eef2f7;--on-accent: #ffffff;--positive: #1f6f52;--danger: #9e3a30;--danger-surface: #fcf0ee;--ring: rgb(31 58 95 / 16%);--shadow-sm: 0 0 0 1px rgb(16 24 40 / 3%), 0 1px 2px rgb(16 24 40 / 6%);--shadow-md: 0 0 0 1px rgb(16 24 40 / 3%), 0 2px 4px rgb(16 24 40 / 5%), 0 10px 24px rgb(16 24 40 / 9%);--shadow-lg: 0 0 0 1px rgb(16 24 40 / 4%), 0 10px 20px rgb(16 24 40 / 10%), 0 30px 64px rgb(16 24 40 / 18%);--radius: 12px;--radius-lg: 18px;--font-size: 15px}:root[data-theme=dark]{color-scheme:dark;--ground: #14181d;--surface: #1b2027;--surface-sunken: #171b21;--border: #2b323b;--border-strong: #3a424d;--text: #e6eaef;--text-muted: #98a3b1;--text-faint: #6f7987;--accent: #b9c4d4;--accent-hover: #cdd6e2;--accent-soft: #262d36;--on-accent: #161a1f;--positive: #6cbb98;--danger: #e08076;--danger-surface: #2a1c1a;--ring: rgb(185 196 212 / 25%);--shadow-sm: 0 1px 2px rgb(0 0 0 / 35%);--shadow-md: 0 2px 4px rgb(0 0 0 / 35%), 0 8px 20px rgb(0 0 0 / 30%);--shadow-lg: 0 8px 16px rgb(0 0 0 / 40%), 0 24px 56px rgb(0 0 0 / 45%)}@media(prefers-color-scheme:dark){:root[data-theme=system],:root:not([data-theme]){color-scheme:dark;--ground: #14181d;--surface: #1b2027;--surface-sunken: #171b21;--border: #2b323b;--border-strong: #3a424d;--text: #e6eaef;--text-muted: #98a3b1;--text-faint: #6f7987;--accent: #b9c4d4;--accent-hover: #cdd6e2;--accent-soft: #262d36;--on-accent: #161a1f;--positive: #6cbb98;--danger: #e08076;--danger-surface: #2a1c1a;--ring: rgb(185 196 212 / 25%);--shadow-sm: 0 1px 2px rgb(0 0 0 / 35%);--shadow-md: 0 2px 4px rgb(0 0 0 / 35%), 0 8px 20px rgb(0 0 0 / 30%);--shadow-lg: 0 8px 16px rgb(0 0 0 / 40%), 0 24px 56px rgb(0 0 0 / 45%)}}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--ground);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:var(--font-size);line-height:1.5;-webkit-font-smoothing:antialiased}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.button{display:inline-flex;align-items:center;justify-content:center;gap:.375rem;padding:.5rem .875rem;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);color:var(--text);font:inherit;font-size:.875rem;font-weight:500;white-space:nowrap;cursor:pointer;transition:background-color .12s ease,border-color .12s ease}.button:hover:not(:disabled){background:var(--surface-sunken);border-color:var(--text-faint)}.button:focus-visible{outline:none;box-shadow:0 0 0 3px var(--ring)}.button:disabled{opacity:.55;cursor:not-allowed}.button.is-primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.button.is-primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.button.is-quiet{background:transparent;border-color:transparent;color:var(--text-muted)}.button.is-quiet:hover:not(:disabled){background:var(--surface-sunken);color:var(--text)}.button.is-block{width:100%}.alert{display:flex;align-items:center;gap:.75rem;margin:0;padding:.625rem .875rem;background:var(--danger-surface);border:1px solid color-mix(in srgb,var(--danger) 35%,transparent);border-radius:var(--radius);color:var(--danger);font-size:.875rem}.alert .button{margin-left:auto}.field{display:flex;flex-direction:column;gap:.3125rem;min-width:0}.field-label{color:var(--text-muted);font-size:.8125rem;font-weight:500}.field input,.field textarea,.field select{width:100%;padding:.5rem .625rem;box-sizing:border-box;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);color:inherit;font:inherit;font-size:.9375rem;transition:border-color .12s ease,box-shadow .12s ease}.field input:focus-visible,.field textarea:focus-visible,.field select:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--ring)}.field textarea{resize:vertical}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:.875rem}.field-error{color:var(--danger);font-size:.8125rem}.field-hint{margin:0;color:var(--text-faint);font-size:.8125rem}.segmented{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:.25rem;padding:.1875rem;background:var(--surface-sunken);border:1px solid var(--border);border-radius:var(--radius)}.segment{padding:.375rem .25rem;background:transparent;border:1px solid transparent;border-radius:7px;color:var(--text-muted);font:inherit;font-size:.8125rem;font-weight:500;cursor:pointer}.segment:hover{color:var(--text)}.segment:focus-visible{outline:none;box-shadow:0 0 0 3px var(--ring)}.segment.is-active{background:var(--surface);border-color:var(--border-strong);color:var(--text);box-shadow:var(--shadow-sm)}.auth-page{display:grid;place-items:center;min-height:100dvh;padding:1.5rem;box-sizing:border-box}.auth-card{display:flex;flex-direction:column;gap:1.125rem;width:100%;max-width:25rem;padding:2rem;box-sizing:border-box;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.auth-header{display:flex;flex-direction:column;gap:.25rem}.auth-header h1{margin:0;font-size:1.375rem;font-weight:600;letter-spacing:-.015em}.auth-header p{margin:0;color:var(--text-muted);font-size:.9375rem}.switch{margin:0;color:var(--text-muted);font-size:.875rem;text-align:center}.switch a{color:var(--text);font-weight:500;text-decoration:underline;text-underline-offset:2px}.switch a:hover{color:var(--accent-hover)}.shell{display:flex;flex-direction:column;min-height:100dvh}.topbar{display:flex;align-items:center;gap:.75rem;padding:.6875rem 1.25rem;background:var(--surface);border-bottom:1px solid var(--border)}.brand{font-size:1rem;font-weight:650;letter-spacing:-.015em}.who{margin-left:auto;color:var(--text-muted);font-size:.875rem}.brand+.button{margin-left:auto}.shell-alert{margin:1rem 1.25rem 0}.dashboard{display:grid;grid-template-columns:15.5rem minmax(0,1fr) 19rem;gap:1rem;align-items:start;padding:1rem 1.25rem 1.75rem}.sidebar{display:flex;flex-direction:column;gap:1.25rem;padding:1rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.block-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.625rem}.block-title{margin:0;color:var(--text-faint);font-size:.6875rem;font-weight:650;text-transform:uppercase;letter-spacing:.06em}.icon-button{display:grid;place-items:center;width:1.5rem;height:1.5rem;background:transparent;border:1px solid var(--border-strong);border-radius:7px;color:var(--text-muted);font:inherit;font-size:1rem;line-height:1;cursor:pointer}.icon-button:hover{background:var(--surface-sunken);color:var(--text)}.icon-button:focus-visible{outline:none;box-shadow:0 0 0 3px var(--ring)}.empty-note{margin:0;color:var(--text-faint);font-size:.8125rem}.palette,.position-list{display:flex;flex-direction:column;gap:.25rem;margin:0;padding:0;list-style:none}.palette-item{display:grid;grid-template-columns:1.625rem minmax(0,1fr);grid-template-areas:"symbol name" "symbol meta";gap:0 .5rem;width:100%;padding:.4375rem .5rem;background:transparent;border:1px solid transparent;border-radius:var(--radius);color:inherit;font:inherit;text-align:left;cursor:pointer;transition:background-color .12s ease}.palette-item:hover{background:var(--surface-sunken)}.palette-item:focus-visible{outline:none;box-shadow:0 0 0 3px var(--ring)}.palette-item.is-active{background:var(--accent);color:var(--on-accent)}.palette-symbol{grid-area:symbol;display:grid;place-items:center;width:1.625rem;height:1.625rem;background:var(--accent-soft);border-radius:7px;color:var(--text);font-size:.75rem;font-weight:700}.palette-item.is-active .palette-symbol{background:color-mix(in srgb,var(--on-accent) 22%,transparent);color:var(--on-accent)}.palette-name{grid-area:name;font-size:.875rem;font-weight:550;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.palette-meta{grid-area:meta;font-size:.75rem;opacity:.7;font-variant-numeric:tabular-nums}.position-item{display:flex;justify-content:space-between;gap:.5rem;padding:.3125rem .5rem;border-radius:7px;font-size:.8125rem}.position-item:hover{background:var(--surface-sunken)}.position-rate{color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap}.summary{display:flex;flex-direction:column;gap:.375rem;margin:0}.summary-row{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem}.summary-row dt{color:var(--text-muted);font-size:.8125rem}.summary-row dd{margin:0;font-size:.875rem;font-variant-numeric:tabular-nums}.summary-row.is-total{margin-top:.375rem;padding-top:.5rem;border-top:1px solid var(--border)}.summary-row.is-total dt{color:var(--text);font-weight:600}.summary-row.is-total dd{font-size:1.125rem;font-weight:650}.calendar{padding:1rem 1.125rem 1.25rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.calendar-bar{display:flex;align-items:center;gap:.375rem;margin-bottom:.875rem}.calendar-title{min-width:10.5rem;margin:0;font-size:1.0625rem;font-weight:600;letter-spacing:-.01em}.calendar-bar .button:first-of-type{margin-left:auto}.nav{display:grid;place-items:center;width:1.875rem;height:1.875rem;background:transparent;border:1px solid var(--border-strong);border-radius:var(--radius);color:var(--text-muted);font-size:1.0625rem;line-height:1;cursor:pointer}.nav:hover{background:var(--surface-sunken);color:var(--text)}.nav:focus-visible{outline:none;box-shadow:0 0 0 3px var(--ring)}.brush-bar{display:flex;align-items:center;gap:.5rem;margin:0 0 .75rem;padding:.4375rem .625rem;background:var(--accent-soft);border-radius:var(--radius);font-size:.8125rem}.brush-bar .button{margin-left:auto}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.3125rem}.weekday{padding-bottom:.25rem;color:var(--text-faint);font-size:.6875rem;font-weight:600;text-align:center;text-transform:uppercase;letter-spacing:.05em}.day{display:flex;flex-direction:column;align-items:stretch;gap:.1875rem;aspect-ratio:1/.92;min-height:3.25rem;padding:.3125rem;background:var(--surface-sunken);border:1px solid transparent;border-radius:var(--radius);color:inherit;font:inherit;text-align:left;cursor:pointer;transition:background-color .1s ease,border-color .1s ease}.day:hover{border-color:var(--border-strong)}.day:focus-visible{outline:none;box-shadow:0 0 0 3px var(--ring)}.day.outside{background:transparent;color:var(--text-faint)}.day.is-today .day-number{display:grid;place-items:center;width:1.375rem;height:1.375rem;margin:-.125rem 0 -.125rem -.125rem;background:var(--accent);border-radius:50%;color:var(--on-accent)}.day.is-selected{border-color:var(--accent);background:var(--surface);box-shadow:var(--shadow-sm)}.day.is-painting{cursor:cell}.day-number{font-size:.8125rem;font-weight:550;font-variant-numeric:tabular-nums}.day-body{display:flex;flex-direction:column;gap:.125rem;margin-top:auto;min-width:0}.day-shift{display:flex;align-items:center;gap:.1875rem;min-width:0}.day-mark{flex:none;padding:.0625rem .25rem;background:var(--accent);border-radius:5px;color:var(--on-accent);font-size:.625rem;font-weight:700;line-height:1.4}.day-shift-name{overflow:hidden;color:var(--text-muted);font-size:.6875rem;text-overflow:ellipsis;white-space:nowrap}.day-hours{color:var(--text-faint);font-size:.625rem;font-variant-numeric:tabular-nums}.day.is-selected .day-shift-name,.day.is-selected .day-hours{color:var(--text)}.palette-row{display:flex;align-items:center;gap:.25rem}.palette-row .palette-item,.palette-row .position-item{flex:1;min-width:0}.row-actions{display:flex;flex:none;gap:.125rem;opacity:0;transition:opacity .12s ease}.palette-row:hover .row-actions,.palette-row:focus-within .row-actions{opacity:1}.icon-button.is-small{width:1.25rem;height:1.25rem;border-color:transparent}.archive-list{margin-top:.5rem;opacity:.75}.day-extra{display:flex;gap:.1875rem;align-items:center;color:var(--text-faint);font-size:.625rem;font-variant-numeric:tabular-nums}.day-panel{display:flex;flex-direction:column;gap:1rem;padding:1rem 1.125rem 1.25rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.panel-title{margin:0;font-size:1rem;font-weight:600}.chip-list{display:flex;flex-wrap:wrap;gap:.25rem;margin:0;padding:0;list-style:none}.chip{padding:.125rem .5rem;background:var(--accent-soft);border-radius:999px;font-size:.8125rem}.sold-list{display:flex;flex-direction:column;gap:.4375rem;margin:0;padding:0;list-style:none}.sold-row{display:grid;grid-template-columns:minmax(0,1fr) 4.25rem;grid-template-areas:"name  input" "rate  input";gap:0 .5rem;align-items:center}.sold-name{grid-area:name;font-size:.875rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sold-rate{grid-area:rate;color:var(--text-faint);font-size:.75rem;font-variant-numeric:tabular-nums}.sold-input{grid-area:input;width:100%;padding:.375rem .5rem;box-sizing:border-box;background:var(--surface);border:1px solid var(--border-strong);border-radius:8px;color:inherit;font:inherit;text-align:right;font-variant-numeric:tabular-nums}.sold-input:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--ring)}.panel-total{padding-top:.75rem;border-top:1px solid var(--border)}.modal{width:min(26rem,100vw - 2rem);padding:0;background:transparent;border:none}.modal::backdrop{background:#10182873;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:1rem 1.125rem;border-bottom:1px solid var(--border)}.modal-title{margin:0;font-size:1rem;font-weight:600}.modal-close{display:grid;place-items:center;width:1.75rem;height:1.75rem;background:transparent;border:none;border-radius:7px;color:var(--text-muted);font-size:1.375rem;line-height:1;cursor:pointer}.modal-close:hover{background:var(--surface-sunken);color:var(--text)}.modal-close:focus-visible{outline:none;box-shadow:0 0 0 3px var(--ring)}.modal-body{padding:1.125rem}.modal-form{display:flex;flex-direction:column;gap:.875rem}.modal-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.375rem}.icon{display:block;flex:none}.button .icon,.icon-button .icon,.nav .icon{margin:0}.quick-row{display:flex;flex-wrap:wrap;gap:.25rem;margin-top:.375rem}.quick{padding:.1875rem .5rem;background:var(--surface-sunken);border:1px solid var(--border);border-radius:999px;color:var(--text-muted);font:inherit;font-size:.75rem;font-variant-numeric:tabular-nums;cursor:pointer}.quick:hover{background:var(--accent-soft);border-color:var(--border-strong);color:var(--text)}.quick:focus-visible{outline:none;box-shadow:0 0 0 3px var(--ring)}.quick.is-clear{margin-left:auto}.period-switch{display:flex;flex-wrap:wrap;gap:.25rem;margin-bottom:.625rem}.period-option{padding:.1875rem .5rem;background:transparent;border:1px solid var(--border);border-radius:999px;color:var(--text-muted);font:inherit;font-size:.75rem;cursor:pointer}.period-option:hover{color:var(--text)}.period-option:focus-visible{outline:none;box-shadow:0 0 0 3px var(--ring)}.period-option.is-active{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.summary-row.is-total dd{color:var(--positive)}.quick.is-active{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.block-title,.field-label,.panel-title,.summary-row.is-total dt{display:flex;align-items:center;gap:.375rem}.block-title .icon,.field-label .icon{color:var(--text-faint)}.sold-block+.sold-block{margin-top:.625rem;padding-top:.625rem;border-top:1px solid var(--border)}.calendar-grid.is-dragging{-webkit-user-select:none;user-select:none}.day.is-dragged{border-color:var(--accent);background:var(--accent-soft)}@media(width<=68rem){.dashboard{grid-template-columns:minmax(0,1fr)}}.day-mark.is-planned{background:transparent;border:1px dashed var(--accent);color:var(--accent)}.day.is-selected .day-mark.is-planned{border-color:var(--on-accent);color:var(--on-accent)}.shift-list{display:flex;flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none}.shift-row{display:flex;align-items:center;gap:.5rem}.shift-info{display:flex;flex-direction:column;flex:1;min-width:0}.worked-toggle{display:inline-flex;align-items:center;gap:.25rem;flex:none;padding:.1875rem .5rem;background:transparent;border:1px dashed var(--border-strong);border-radius:999px;color:var(--text-muted);font:inherit;font-size:.75rem;cursor:pointer}.worked-toggle:hover{border-color:var(--accent);color:var(--text)}.worked-toggle:focus-visible{outline:none;box-shadow:0 0 0 3px var(--ring)}.worked-toggle.is-worked{background:var(--accent-soft);border-style:solid;border-color:var(--accent-soft);color:var(--accent)}.summary-row.is-short dd,.field-hint.is-short{color:var(--danger);font-weight:600}.stack{display:flex;flex-direction:column;gap:.375rem;margin-top:.5rem}.swatch-row{display:flex;flex-wrap:wrap;gap:.375rem;align-items:center}.swatch{width:1.75rem;height:1.75rem;border:2px solid transparent;border-radius:50%;cursor:pointer;box-shadow:inset 0 0 0 1px #0000001f}.swatch:focus-visible{outline:none;box-shadow:0 0 0 3px var(--ring)}.swatch.is-active{border-color:var(--text)}.swatch-picker{width:1.75rem;height:1.75rem;padding:0;background:none;border:1px solid var(--border-strong);border-radius:50%;cursor:pointer}.emoji-row{display:flex;flex-wrap:wrap;gap:.25rem}.emoji{width:2rem;height:2rem;background:var(--surface-sunken);border:1px solid var(--border);border-radius:8px;font-size:1rem;line-height:1;cursor:pointer}.emoji:hover{border-color:var(--border-strong)}.emoji:focus-visible{outline:none;box-shadow:0 0 0 3px var(--ring)}.emoji.is-active{background:var(--accent-soft);border-color:var(--accent)}.toggle-row{display:flex;align-items:center;gap:.5rem;width:100%;padding:.25rem 0;background:none;border:none;color:var(--text);font:inherit;font-size:.875rem;text-align:left;cursor:pointer}.toggle-row:focus-visible{outline:none;box-shadow:0 0 0 3px var(--ring)}.toggle{position:relative;flex:none;width:2rem;height:1.125rem;background:var(--border-strong);border-radius:999px;transition:background-color .12s ease}.toggle:after{content:"";position:absolute;top:.125rem;left:.125rem;width:.875rem;height:.875rem;background:var(--surface);border-radius:50%;transition:transform .12s ease}.toggle.is-on{background:var(--accent)}.toggle.is-on:after{transform:translate(.875rem)}:root[data-density=compact] .day{min-height:2.5rem;aspect-ratio:1/.7}:root[data-density=compact] .dashboard{gap:.75rem;padding:.75rem 1rem 1.25rem}:root[data-density=compact] .sidebar,:root[data-density=compact] .calendar,:root[data-density=compact] .day-panel{padding:.875rem}.day-mark[data-colour]{background:var(--mark-colour, var(--accent))}.day-mark.is-planned[data-colour]{background:transparent;border-color:var(--mark-colour, var(--accent));color:var(--mark-colour, var(--accent))}.day-earned{color:var(--text-faint);font-size:.625rem;font-variant-numeric:tabular-nums}.location-dot{display:inline-block;width:.5rem;height:.5rem;border-radius:50%;flex:none}.view-switch{margin-left:auto}.calendar-bar .button.is-quiet{margin-left:0}.year-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(9rem,1fr));gap:.75rem}.year-month{display:flex;flex-direction:column;gap:.375rem;padding:.625rem;background:var(--surface-sunken);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;text-align:left}.year-month:hover{border-color:var(--border-strong)}.year-month:focus-visible{outline:none;box-shadow:0 0 0 3px var(--ring)}.year-month-label{color:var(--text-muted);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.year-days{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.year-day{aspect-ratio:1;border-radius:2px;background:var(--border)}.year-day.is-outside{background:transparent}.year-day.is-filled{background:var(--mark-colour, var(--accent))}.year-day.is-today{box-shadow:0 0 0 1px var(--text)}.emoji,.day-mark,.palette-symbol{font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",system-ui,sans-serif}.emoji-picker{display:flex;flex-direction:column;gap:.625rem;max-height:13rem;overflow-y:auto;padding:.5rem;background:var(--surface-sunken);border:1px solid var(--border);border-radius:var(--radius)}.emoji-group-label{display:block;margin-bottom:.25rem;color:var(--text-faint);font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.slider-row{display:grid;grid-template-columns:5rem 1fr 3rem;gap:.5rem;align-items:center;font-size:.875rem;color:var(--text-muted)}.slider-row input[type=range]{width:100%;accent-color:var(--accent)}.slider-value{color:var(--text);font-variant-numeric:tabular-nums;text-align:right}.calendar-grid .day:nth-child(7n+6),.calendar-grid .day:nth-child(7n+7){--weekend-tint: transparent}:root[data-weekends=on] .calendar-grid .day:nth-child(7n+6),:root[data-weekends=on] .calendar-grid .day:nth-child(7n+7){background:color-mix(in srgb,var(--accent) 4%,var(--surface-sunken))}@keyframes rise{0%{opacity:0;transform:translateY(6px)}}@keyframes pop{0%{transform:scale(.82)}}@keyframes fade{0%{opacity:0}}.modal[open] .modal-card{animation:rise .16s cubic-bezier(.2,.8,.3,1)}.modal[open]::backdrop{animation:fade .16s ease}.brush-bar{animation:rise .14s ease}.day-mark{animation:pop .14s cubic-bezier(.2,.9,.3,1.2)}.alert{animation:rise .16s ease}.palette-item,.day,.button,.quick,.segment,.period-option{transition:background-color .13s ease,border-color .13s ease,color .13s ease,transform .13s ease}.quick:active,.button:active:not(:disabled),.emoji:active{transform:scale(.96)}:root[data-motion=reduced] *,:root[data-motion=reduced] *:before,:root[data-motion=reduced] *:after{animation-duration:.01ms!important;transition-duration:.01ms!important}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.stats{display:flex;flex-direction:column;gap:1.25rem}.kpi-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem}@media(width<=62rem){.kpi-row{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(width<=42rem){.kpi-row{grid-template-columns:repeat(2,minmax(0,1fr))}}.kpi{display:flex;flex-direction:column;gap:.125rem;padding:.75rem .875rem;background:var(--surface-sunken);border:1px solid var(--border);border-radius:var(--radius)}.kpi-label{color:var(--text-muted);font-size:.75rem;font-weight:500}.kpi-value{font-size:1.25rem;font-weight:650;letter-spacing:-.01em}.kpi-value.is-hero{font-size:1.625rem;color:var(--accent)}.kpi-hint{color:var(--text-faint);font-size:.75rem}.chart-block{display:flex;flex-direction:column;gap:.5rem}.chart-head{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem}.chart-legend{display:flex;gap:.75rem}.legend-key{display:inline-flex;align-items:center;gap:.3125rem;color:var(--text-muted);font-size:.75rem}.legend-swatch{width:.625rem;height:.625rem;border-radius:3px;background:var(--accent)}.legend-swatch.is-planned{background:color-mix(in srgb,var(--accent) 25%,var(--surface))}.chart-frame{position:relative}.chart{display:block;width:100%;height:auto}.gridline{stroke:var(--border);stroke-width:1}.axis-text{fill:var(--text-faint);font-size:10px}.value-text{fill:var(--text-muted);font-size:10px;font-weight:600}.col{fill:var(--accent)}.col.is-hovered{fill:var(--accent-hover)}.col.is-planned{fill:color-mix(in srgb,var(--accent) 25%,var(--surface))}.hit{fill:transparent}.chart-tooltip{position:absolute;top:0;transform:translate(-50%,-.25rem);display:flex;flex-direction:column;padding:.375rem .625rem;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);box-shadow:var(--shadow-md);font-size:.75rem;pointer-events:none;white-space:nowrap;z-index:2}.tooltip-muted{color:var(--text-muted)}.bars{display:flex;flex-direction:column;gap:.4375rem}.bar-row{display:grid;grid-template-columns:6rem minmax(0,1fr) auto;gap:.625rem;align-items:center}.bar-name{color:var(--text-muted);font-size:.8125rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar-track{height:.875rem;background:var(--surface-sunken);border-radius:4px;overflow:hidden}.bar-fill{display:block;height:100%;min-width:2px;background:var(--accent);border-radius:0 4px 4px 0}.bar-value{font-size:.8125rem;font-variant-numeric:tabular-nums}.modal.is-wide{width:min(46rem,100vw - 2rem)}.topbar{position:sticky;top:0;z-index:10;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:color-mix(in srgb,var(--surface) 88%,transparent)}.day.is-painting{touch-action:none}:root[data-weekstart=sun][data-weekends=on] .calendar-grid .day:nth-child(7n+6),:root[data-weekstart=sun][data-weekends=on] .calendar-grid .day:nth-child(7n+7){background:var(--surface-sunken)}:root[data-weekstart=sun][data-weekends=on] .calendar-grid .day:nth-child(7n+1),:root[data-weekstart=sun][data-weekends=on] .calendar-grid .day:nth-child(7n){background:color-mix(in srgb,var(--accent) 4%,var(--surface-sunken))}@media(width<=48rem){.dashboard{gap:.75rem;padding:.625rem .625rem 1.25rem}.dashboard app-month-grid{order:-1}.topbar{padding:.5rem .75rem}.calendar{padding:.75rem}.calendar-bar{flex-wrap:wrap}.calendar-title{min-width:0;flex:1 1 100%}.view-switch{margin-left:0}.day{min-height:2.75rem;padding:.25rem}.day-shift-name,.day-extra{display:none}.field-row{grid-template-columns:1fr}.kpi-row{grid-template-columns:1fr 1fr}.bar-row{grid-template-columns:4.5rem minmax(0,1fr) auto}.modal,.modal.is-wide{width:100vw;max-width:100vw;margin:auto 0 0;padding:0}.modal-card{border-radius:var(--radius-lg) var(--radius-lg) 0 0;border-bottom:none;max-height:92dvh;overflow-y:auto}}@media(pointer:coarse){.icon-button{width:2rem;height:2rem}.icon-button.is-small{width:1.75rem;height:1.75rem}.quick,.period-option,.segment{padding-top:.375rem;padding-bottom:.375rem}.row-actions{opacity:1}}.stats-page{display:flex;flex-direction:column;gap:1rem;max-width:62rem;width:100%;margin:0 auto;padding:1rem 1.25rem 2rem;box-sizing:border-box;transition:opacity .15s ease}.stats-page.is-loading{opacity:.6}.card-lite{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;padding:.75rem 1rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.period-custom{display:flex;gap:.5rem;margin-left:auto}.field.is-inline{flex-direction:row;align-items:center;gap:.375rem}.field.is-inline input{width:auto;padding:.3125rem .5rem;font-size:.8125rem}.stat-card{display:flex;flex-direction:column;gap:.625rem;padding:1rem 1.125rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:box-shadow .16s ease,transform .16s ease}.stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.stat-card.is-empty{align-items:center;padding:2.5rem 1rem;color:var(--text-faint)}.stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;align-items:start}.kpi-hint.is-short{color:var(--danger)}.heatmap-frame{position:relative;display:flex;flex-direction:column;gap:.5rem}.heatmap{display:flex;gap:3px;overflow-x:auto;padding-bottom:.25rem}.heatmap-week{display:flex;flex-direction:column;gap:3px;flex:none}.heatmap-cell{width:.6875rem;height:.6875rem;border-radius:3px;background:var(--surface-sunken);box-shadow:inset 0 0 0 1px var(--border)}.heatmap-cell[data-level="1"]{background:color-mix(in srgb,var(--accent) 25%,var(--surface));box-shadow:none}.heatmap-cell[data-level="2"]{background:color-mix(in srgb,var(--accent) 45%,var(--surface));box-shadow:none}.heatmap-cell[data-level="3"]{background:color-mix(in srgb,var(--accent) 70%,var(--surface));box-shadow:none}.heatmap-cell[data-level="4"]{background:var(--accent);box-shadow:none}.heatmap-cell.is-void{background:transparent;box-shadow:none}.heatmap-cell.is-hovered{outline:2px solid var(--text);outline-offset:1px}.heatmap-legend{display:flex;align-items:center;gap:3px;align-self:flex-end;color:var(--text-faint);font-size:.6875rem}.heatmap-legend span:first-child{margin-right:.25rem}.heatmap-legend span:last-child{margin-left:.25rem}.bar-fill{transition:width .42s cubic-bezier(.25,.9,.3,1)}.kpi,.stat-card{animation:rise .24s cubic-bezier(.2,.8,.3,1) backwards}.kpi:nth-child(2){animation-delay:40ms}.kpi:nth-child(3){animation-delay:80ms}.kpi:nth-child(4){animation-delay:.12s}.kpi:nth-child(5){animation-delay:.16s}.kpi:nth-child(6){animation-delay:.2s}.palette li,.position-list li{animation:rise .2s ease backwards}.palette li:nth-child(2),.position-list li:nth-child(2){animation-delay:30ms}.palette li:nth-child(3),.position-list li:nth-child(3){animation-delay:60ms}.palette li:nth-child(4),.position-list li:nth-child(4){animation-delay:90ms}.palette li:nth-child(n+5),.position-list li:nth-child(n+5){animation-delay:.12s}::view-transition-old(root){animation:fade .18s ease reverse}::view-transition-new(root){animation:rise .22s cubic-bezier(.2,.8,.3,1)}.avatar{display:grid;place-items:center;width:1.625rem;height:1.625rem;margin-left:auto;background:var(--accent-soft);border-radius:50%;color:var(--accent);font-size:.75rem;font-weight:700;text-transform:uppercase}.avatar+.who{margin-left:0}@media(width<=48rem){.stat-grid{grid-template-columns:1fr}.period-custom{margin-left:0;flex-wrap:wrap}.stats-page{padding:.75rem .625rem 1.5rem}}.goal-card{gap:.75rem}.goal-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.goal-edit{display:flex;align-items:center;gap:.375rem;flex-wrap:wrap}.goal-input{width:8rem;padding:.375rem .5rem;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);color:inherit;font:inherit;font-variant-numeric:tabular-nums}.goal-input:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--ring)}.meter{height:.75rem;background:color-mix(in srgb,var(--accent) 12%,var(--surface));border-radius:999px;overflow:hidden}.meter-fill{display:block;height:100%;background:linear-gradient(90deg,var(--accent-hover),var(--accent));border-radius:999px;transition:width .6s cubic-bezier(.25,.9,.3,1)}.meter.is-reached .meter-fill{background:linear-gradient(90deg,var(--positive),var(--positive))}.goal-legend{display:flex;align-items:baseline;gap:.5rem;flex-wrap:wrap}.goal-now{font-size:1.125rem;font-weight:650}.goal-of,.goal-left{color:var(--text-muted);font-size:.875rem}.goal-badge{padding:.125rem .5rem;background:color-mix(in srgb,var(--positive) 14%,var(--surface));border-radius:999px;color:var(--positive);font-size:.75rem;font-weight:600}.kpi-foot{display:flex;align-items:baseline;gap:.375rem;flex-wrap:wrap}.delta{color:var(--positive);font-size:.75rem;font-weight:650;font-variant-numeric:tabular-nums}.delta.is-down{color:var(--danger)}.area-line{fill:none;stroke:var(--accent);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.wash-top{stop-color:var(--accent);stop-opacity:.18}.wash-bottom{stop-color:var(--accent);stop-opacity:0}.area-dot{fill:var(--accent);stroke:var(--surface);stroke-width:2}.crosshair{stroke:var(--border-strong);stroke-width:1}.goal-line{stroke:var(--positive);stroke-width:1.5;stroke-dasharray:4 4}.goal-text{fill:var(--positive);font-weight:600}.topbar,.calendar-bar,.block-head,.chart-head,.period-bar{flex-wrap:wrap;row-gap:.5rem;min-width:0}.calendar-title,.brand,.block-title,.panel-title{min-width:0;overflow:hidden;text-overflow:ellipsis}.who{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.button,.quick,.segment,.period-option,.worked-toggle,.legend-key,.toggle-row{white-space:nowrap}.calendar-bar .view-switch{order:3;flex:1 1 auto;min-width:12rem}.calendar-bar .nav{flex:none}.quick-row,.swatch-row,.emoji-row{min-width:0}.week-chip{padding:.125rem .5rem;background:var(--accent-soft);border-radius:999px;color:var(--accent);font-size:.6875rem;font-weight:650;white-space:nowrap}.value-text{fill:var(--text-faint);font-weight:500}.value-text.is-peak{fill:var(--text);font-weight:700}.bento{display:grid;grid-template-columns:repeat(12,1fr);gap:1rem;align-items:stretch}.bento>*{grid-column:span 4;min-width:0}.bento-ring,.bento-streak{grid-column:span 3}.bento-activity{grid-column:span 6}.forecast-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:1.25rem;align-items:center}.forecast-main{display:flex;flex-direction:column;gap:.25rem}.forecast-rows{display:flex;flex-direction:column;gap:.3125rem;margin:0;padding-left:1.25rem;border-left:1px solid var(--border)}.ring-wrap{position:relative;display:grid;place-items:center;margin:0 auto}.ring{width:7.5rem;height:7.5rem;transform:rotate(-90deg)}.ring-track{fill:none;stroke:color-mix(in srgb,var(--accent) 12%,var(--surface))}.ring-fill{fill:none;stroke:var(--accent);stroke-linecap:round;transition:stroke-dashoffset .7s cubic-bezier(.25,.9,.3,1)}.ring-fill.is-complete{stroke:var(--positive)}.ring-centre{position:absolute;display:flex;flex-direction:column;align-items:center;line-height:1.2}.ring-centre strong{font-size:1.375rem;font-weight:700}.ring-centre span{color:var(--text-muted);font-size:.6875rem}.streak-row{display:flex;align-items:baseline;gap:.5rem}.streak-flame{font-size:1.75rem;line-height:1;animation:flicker 2.4s ease-in-out infinite}@keyframes flicker{0%,to{transform:scale(1) rotate(-2deg)}50%{transform:scale(1.08) rotate(2deg)}}.streak-value{font-size:2rem;font-weight:700;letter-spacing:-.02em}.streak-unit{color:var(--text-muted);font-size:.875rem}.activity-list{display:flex;flex-direction:column;gap:.375rem;margin:0;padding:0;list-style:none}.activity-row{display:grid;grid-template-columns:3rem minmax(0,1fr) auto;gap:.5rem;align-items:center;padding:.25rem .375rem;border-radius:8px;transition:background-color .13s ease}.activity-row:hover{background:var(--surface-sunken)}.activity-date{color:var(--text-faint);font-size:.75rem;font-variant-numeric:tabular-nums}.activity-shifts{display:flex;gap:.1875rem;flex-wrap:wrap}.activity-chip{padding:.0625rem .3125rem;background:var(--mark-colour, var(--accent));border-radius:5px;color:var(--on-accent);font-size:.6875rem;font-weight:600}.activity-chip.is-planned{background:transparent;border:1px dashed var(--mark-colour, var(--accent));color:var(--mark-colour, var(--accent))}.activity-value{font-size:.8125rem;font-variant-numeric:tabular-nums}.area-line.is-projection{stroke:var(--accent);stroke-dasharray:5 4;opacity:.7}.area-dot.is-projection{fill:var(--surface);stroke:var(--accent);stroke-width:2}@keyframes draw{0%{stroke-dashoffset:1}to{stroke-dashoffset:0}}.area-line{stroke-dasharray:1;stroke-dashoffset:1;animation:draw 1.1s cubic-bezier(.3,.8,.3,1) forwards}.area-line.is-projection{stroke-dasharray:.012 .01;stroke-dashoffset:0;animation:fade .7s .6s ease backwards}.area-fill{animation:fade .7s .2s ease backwards}@keyframes grow{0%{transform:scaleY(0)}}.col{transform-box:fill-box;transform-origin:center bottom;animation:grow .52s cubic-bezier(.22,.9,.28,1) backwards}.col:nth-of-type(1){animation-delay:0ms}.col:nth-of-type(2){animation-delay:25ms}.col:nth-of-type(3){animation-delay:50ms}.col:nth-of-type(4){animation-delay:75ms}.col:nth-of-type(5){animation-delay:.1s}.col:nth-of-type(6){animation-delay:125ms}.col:nth-of-type(7){animation-delay:.15s}.col:nth-of-type(8){animation-delay:175ms}.col:nth-of-type(n+9){animation-delay:.2s}.heatmap-week{animation:fade .32s ease backwards}.heatmap-week:nth-child(4n){animation-delay:40ms}.heatmap-week:nth-child(4n+1){animation-delay:80ms}.heatmap-week:nth-child(4n+2){animation-delay:.12s}.heatmap-cell{transform-origin:center;transition:transform .12s ease,background-color .2s ease}.heatmap-cell:hover{transform:scale(1.35)}.bento>*:nth-child(1){animation-delay:0ms}.bento>*:nth-child(2){animation-delay:60ms}.bento>*:nth-child(3){animation-delay:.12s}.forecast-card{animation:rise .26s cubic-bezier(.2,.8,.3,1) backwards}.quick.is-active,.period-option.is-active,.segment.is-active{animation:pop .2s cubic-bezier(.2,.9,.3,1.2)}.day:hover{transform:translateY(-1px)}.day.is-selected{animation:pop .18s cubic-bezier(.2,.9,.3,1.15)}.shift-row,.sold-block,.activity-row{animation:rise .2s ease backwards}.activity-row:nth-child(2){animation-delay:40ms}.activity-row:nth-child(3){animation-delay:80ms}.activity-row:nth-child(4){animation-delay:.12s}.activity-row:nth-child(n+5){animation-delay:.16s}.button:hover .icon,.icon-button:hover .icon{transform:scale(1.1)}.icon{transition:transform .14s cubic-bezier(.2,.9,.3,1.2)}.toggle:after{transition:transform .2s cubic-bezier(.2,.9,.3,1.3)}.stats-page>*{animation:rise .3s cubic-bezier(.2,.8,.3,1) backwards}.stats-page>*:nth-child(2){animation-delay:50ms}.stats-page>*:nth-child(3){animation-delay:.1s}.stats-page>*:nth-child(4){animation-delay:.15s}.stats-page>*:nth-child(n+5){animation-delay:.2s}.summary-row,.goal-legend,.kpi-foot,.forecast-rows .summary-row{flex-wrap:wrap;min-width:0}.summary-row dt,.summary-row dd{min-width:0;overflow-wrap:anywhere}.bar-value,.activity-value,.position-rate{white-space:nowrap}.kpi-value,.streak-value,.goal-now{overflow-wrap:anywhere}@media(width<=68rem){.bento>*,.bento-ring,.bento-streak,.bento-activity{grid-column:span 6}}@media(width<=48rem){.bento>*,.bento-ring,.bento-streak,.bento-activity{grid-column:span 12}.forecast-card{grid-template-columns:minmax(0,1fr)}.forecast-rows{padding-left:0;padding-top:.75rem;border-left:none;border-top:1px solid var(--border)}}.compare-scroll{overflow-x:auto}.compare{width:100%;border-collapse:collapse;font-size:.875rem;white-space:nowrap}.compare th,.compare td{padding:.5rem .625rem;text-align:right;border-bottom:1px solid var(--border)}.compare thead th{color:var(--text-faint);font-size:.6875rem;font-weight:650;text-transform:uppercase;letter-spacing:.04em}.compare th:first-child,.compare tbody th{display:table-cell;text-align:left;font-weight:550}.compare tbody th{display:flex;align-items:center;gap:.375rem}.compare tbody tr{transition:background-color .13s ease}.compare tbody tr:hover{background:var(--surface-sunken)}.compare td{font-variant-numeric:tabular-nums}.compare td.is-best{color:var(--positive);font-weight:650}.compare td.is-short{color:var(--danger)}.export-row{display:flex;gap:.375rem;flex-wrap:wrap}.split-row{display:flex;align-items:center;gap:.625rem;margin-top:.375rem;flex-wrap:wrap}.split-row .field.is-inline input{width:5.5rem}.split-rest{color:var(--text-muted);font-size:.8125rem;font-variant-numeric:tabular-nums}.reminder{display:flex;align-items:center;gap:.625rem;flex-wrap:wrap;margin:1rem 1.25rem 0;padding:.625rem .875rem;background:color-mix(in srgb,var(--accent) 7%,var(--surface));border:1px solid color-mix(in srgb,var(--accent) 22%,transparent);border-radius:var(--radius);font-size:.875rem;animation:rise .2s ease}.reminder .icon{color:var(--accent)}.reminder span{flex:1;min-width:8rem}.summary-row dd.is-negative,.kpi-value.is-short{color:var(--danger)}.google-block{display:flex;flex-direction:column;gap:.875rem}.google-button{display:flex;justify-content:center;min-height:2.5rem}.or-line{display:flex;align-items:center;gap:.75rem;color:var(--text-faint);font-size:.8125rem}.or-line:before,.or-line:after{content:"";flex:1;height:1px;background:var(--border)}.name-prompt{margin-top:1rem;animation:rise .22s cubic-bezier(.2,.8,.3,1)}.icon-button.is-danger:hover{background:var(--danger-surface);color:var(--danger)}.wrapped-shell{background:radial-gradient(70rem 40rem at 20% -10%,color-mix(in srgb,var(--accent) 14%,transparent),transparent 70%),var(--ground)}.wrapped{display:flex;flex-direction:column;gap:1.25rem;max-width:62rem;width:100%;margin:0 auto;padding:2rem 1.25rem 3rem;box-sizing:border-box;transition:opacity .2s ease}.wrapped.is-loading{opacity:.5}.year-switch{display:flex;align-items:center;gap:.5rem;margin-left:auto;font-variant-numeric:tabular-nums}.wrap-hero{display:flex;flex-direction:column;align-items:center;gap:.125rem;padding:2.5rem 1rem;text-align:center;animation:rise .4s cubic-bezier(.2,.8,.3,1) backwards}.wrap-label{color:var(--text-muted);font-size:.8125rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em}.wrap-number{background:linear-gradient(135deg,var(--accent),var(--accent-hover));-webkit-background-clip:text;background-clip:text;color:transparent;font-size:clamp(3.5rem,12vw,6.5rem);font-weight:800;line-height:1;letter-spacing:-.03em;animation:pop .6s cubic-bezier(.2,.9,.3,1.1) .12s backwards}.wrap-unit{font-size:1.375rem;font-weight:650}.wrap-sub{color:var(--text-muted);font-size:.875rem}.wrap-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.wrap-card{display:flex;flex-direction:column;gap:.25rem;padding:1.25rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:transform .2s cubic-bezier(.2,.8,.3,1),box-shadow .2s ease;animation:rise .32s cubic-bezier(.2,.8,.3,1) backwards}.wrap-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}.wrap-card[style*=--wrap-tint]{border-color:color-mix(in srgb,var(--wrap-tint) 40%,var(--border))}.wrap-card.is-feature{grid-column:span 2;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 10%,var(--surface)),var(--surface))}.wrap-card:nth-child(1){animation-delay:60ms}.wrap-card:nth-child(2){animation-delay:.12s}.wrap-card:nth-child(3){animation-delay:.18s}.wrap-card:nth-child(4){animation-delay:.24s}.wrap-card:nth-child(5){animation-delay:.3s}.wrap-card:nth-child(6){animation-delay:.36s}.wrap-card:nth-child(n+7){animation-delay:.42s}.wrap-badge{display:grid;place-items:center;width:3rem;height:3rem;margin:.375rem 0;background:var(--accent);border-radius:14px;color:var(--on-accent);font-size:1.5rem;font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",system-ui,sans-serif}.wrap-title{font-size:1.5rem;font-weight:700;letter-spacing:-.015em;overflow-wrap:anywhere}.wrap-title.is-money{color:var(--accent)}.wrap-foot{text-align:center}@media(width<=62rem){.wrap-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(width<=42rem){.wrap-grid{grid-template-columns:minmax(0,1fr)}.wrap-card.is-feature{grid-column:span 1}}:root{--motion: 1}.kpi,.stat-card,.wrap-card,.col,.area-line,.bento>*,.activity-row,.palette li,.position-list li{animation-duration:calc(var(--anim-base, .3s) * var(--motion))}.col{--anim-base: .52s}.area-line{--anim-base: 1.1s}.wrap-card{--anim-base: .32s}:root[data-glass=on] .sidebar,:root[data-glass=on] .calendar,:root[data-glass=on] .day-panel,:root[data-glass=on] .stat-card,:root[data-glass=on] .wrap-card,:root[data-glass=on] .card-lite,:root[data-glass=on] .modal-card{background:color-mix(in srgb,var(--surface) 78%,transparent);-webkit-backdrop-filter:blur(14px) saturate(1.4);backdrop-filter:blur(14px) saturate(1.4)}:root[data-sidebar=compact] .dashboard{grid-template-columns:12.5rem minmax(0,1fr) 17rem}@media(width<=68rem){:root[data-sidebar=compact] .dashboard{grid-template-columns:minmax(0,1fr)}}.palette-row{min-width:0}.palette-row .palette-name,.palette-row .position-item{min-width:0;overflow:hidden}.row-actions{flex:none}.topbar>*{flex:none}.topbar .who,.topbar .brand{flex:0 1 auto}.year-switch{flex:none}.slider-row{grid-template-columns:minmax(4.5rem,6rem) minmax(0,1fr) 3.5rem}@media(width<=30rem){.modal-actions{flex-direction:column-reverse}.modal-actions .button,.goal-edit{width:100%}.goal-edit .goal-input{flex:1;width:auto}}:root{--tint-teal: #0d9488;--tint-rose: #e11d48;--tint-amber: #d97706;--tint-indigo: #4f46e5;--tint-green: #16a34a;--tint-violet: #9333ea;--tint-orange: #ea580c;--tint-cyan: #0284c7}:root[data-theme=dark]{--tint-indigo: #6366f1}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--tint-indigo: #6366f1}}.tint-teal{--wrap-tint: var(--tint-teal)}.tint-rose{--wrap-tint: var(--tint-rose)}.tint-amber{--wrap-tint: var(--tint-amber)}.tint-indigo{--wrap-tint: var(--tint-indigo)}.tint-green{--wrap-tint: var(--tint-green)}.tint-violet{--wrap-tint: var(--tint-violet)}.tint-orange{--wrap-tint: var(--tint-orange)}.tint-cyan{--wrap-tint: var(--tint-cyan)}.delta{display:inline-flex;align-items:center;gap:.1875rem;flex:none;padding:.125rem .375rem;border-radius:999px;color:var(--text-faint);background:var(--surface-sunken);font-size:.75rem;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.35;white-space:nowrap;animation:deltaIn calc(.36s * var(--motion)) cubic-bezier(.2,.9,.3,1.2) backwards}.delta.is-up{color:var(--tint-green);background:color-mix(in srgb,var(--tint-green) 12%,transparent)}.delta.is-down{color:var(--tint-rose);background:color-mix(in srgb,var(--tint-rose) 12%,transparent)}.delta app-icon{display:inline-flex;animation:arrowIn calc(.42s * var(--motion)) cubic-bezier(.2,.9,.3,1.3) backwards}.delta.is-down app-icon{animation-name:arrowInDown}.delta-flat{opacity:.6}@keyframes deltaIn{0%{opacity:0;transform:scale(.8)}}@keyframes arrowIn{0%{opacity:0;transform:translateY(4px)}}@keyframes arrowInDown{0%{opacity:0;transform:translateY(-4px)}}.wrap-tier{display:inline-flex;align-items:center;gap:.5rem;margin-bottom:1rem;padding:.375rem .875rem .375rem .5rem;border:1px solid color-mix(in srgb,var(--tint-amber) 35%,var(--border));border-radius:999px;background:linear-gradient(110deg,transparent 30%,color-mix(in srgb,var(--tint-amber) 18%,transparent) 50%,transparent 70%),color-mix(in srgb,var(--tint-amber) 8%,var(--surface));background-size:250% 100%,auto;font-size:.8125rem;font-weight:700;animation:sheen calc(4s * var(--motion)) linear infinite}.wrap-tier-emoji{font-size:1.125rem;font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",system-ui,sans-serif}@keyframes sheen{0%{background-position:250% 0,0 0}to{background-position:-150% 0,0 0}}.wrap-number{background:linear-gradient(100deg,var(--tint-indigo),var(--tint-violet),var(--tint-rose),var(--tint-orange),var(--tint-amber),var(--tint-green),var(--tint-teal),var(--tint-indigo));background-size:300% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:pop calc(.6s * var(--motion)) cubic-bezier(.2,.9,.3,1.1) backwards,drift calc(12s * var(--motion)) linear infinite}@keyframes drift{0%{background-position:0 0}to{background-position:300% 0}}.wrap-vs{color:var(--text-faint)}.wrap-sub{display:inline-flex;align-items:center;gap:.375rem;flex-wrap:wrap;justify-content:center}.wrap-months{display:flex;align-items:flex-end;gap:.375rem;height:4.5rem;margin-top:1.75rem;padding:0 .5rem}.wrap-month{display:flex;flex-direction:column;align-items:center;gap:.375rem;justify-content:flex-end;width:1.75rem;height:100%}.wrap-month-bar{width:100%;min-height:2px;border-radius:4px 4px 2px 2px;background:linear-gradient(to top,color-mix(in srgb,var(--tint-indigo) 35%,transparent),var(--tint-indigo));transform-origin:bottom;animation:grow calc(.7s * var(--motion)) cubic-bezier(.2,.8,.3,1) backwards;transition:filter .15s ease}.wrap-month.is-peak .wrap-month-bar{background:linear-gradient(to top,color-mix(in srgb,var(--tint-amber) 40%,transparent),var(--tint-amber));box-shadow:0 0 12px color-mix(in srgb,var(--tint-amber) 45%,transparent)}.wrap-month:hover .wrap-month-bar{filter:brightness(1.15)}.wrap-month-name{color:var(--text-faint);font-size:.625rem;font-weight:700;text-transform:uppercase}.wrap-month:nth-child(1) .wrap-month-bar{animation-delay:calc(45ms * var(--motion))}.wrap-month:nth-child(2) .wrap-month-bar{animation-delay:calc(90ms * var(--motion))}.wrap-month:nth-child(3) .wrap-month-bar{animation-delay:calc(135ms * var(--motion))}.wrap-month:nth-child(4) .wrap-month-bar{animation-delay:calc(.18s * var(--motion))}.wrap-month:nth-child(5) .wrap-month-bar{animation-delay:calc(225ms * var(--motion))}.wrap-month:nth-child(6) .wrap-month-bar{animation-delay:calc(.27s * var(--motion))}.wrap-month:nth-child(7) .wrap-month-bar{animation-delay:calc(315ms * var(--motion))}.wrap-month:nth-child(8) .wrap-month-bar{animation-delay:calc(.36s * var(--motion))}.wrap-month:nth-child(9) .wrap-month-bar{animation-delay:calc(405ms * var(--motion))}.wrap-month:nth-child(10) .wrap-month-bar{animation-delay:calc(.45s * var(--motion))}.wrap-month:nth-child(11) .wrap-month-bar{animation-delay:calc(495ms * var(--motion))}.wrap-month:nth-child(12) .wrap-month-bar{animation-delay:calc(.54s * var(--motion))}.wrap-band{padding:1.5rem;border:1px solid color-mix(in srgb,var(--tint-indigo) 25%,var(--border));border-radius:var(--radius-lg);background:radial-gradient(40rem 20rem at 10% 0%,color-mix(in srgb,var(--tint-violet) 10%,transparent),transparent 70%),radial-gradient(36rem 18rem at 90% 100%,color-mix(in srgb,var(--tint-cyan) 10%,transparent),transparent 70%),var(--surface);box-shadow:var(--shadow-sm);animation:rise calc(.42s * var(--motion)) cubic-bezier(.2,.8,.3,1) .2s backwards}.wrap-band-title{display:flex;align-items:center;gap:.5rem;margin-bottom:1.25rem;color:var(--tint-indigo);font-size:.8125rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.wrap-band-title app-icon{animation:breathe calc(2.6s * var(--motion)) ease-in-out infinite}@keyframes breathe{0%,to{opacity:.55;transform:scale(.92)}50%{opacity:1;transform:scale(1.08)}}.wrap-band-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.wrap-figure{display:flex;flex-direction:column;gap:.1875rem;min-width:0;animation:rise calc(.36s * var(--motion)) cubic-bezier(.2,.8,.3,1) backwards}.wrap-figure .wrap-sub{justify-content:flex-start}.wrap-figure:nth-child(1){animation-delay:calc(.26s * var(--motion))}.wrap-figure:nth-child(2){animation-delay:calc(.32s * var(--motion))}.wrap-figure:nth-child(3){animation-delay:calc(.38s * var(--motion))}.wrap-figure:nth-child(4){animation-delay:calc(.44s * var(--motion))}.wrap-figure-value{font-size:1.5rem;font-weight:750;letter-spacing:-.02em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.wrap-heading{margin:1.25rem 0 0;font-size:.8125rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.wrap-grid.is-tight{gap:.75rem}.wrap-card{position:relative;overflow:hidden}.wrap-card[style*=--wrap-tint],.wrap-card[class*=tint-]{border-color:color-mix(in srgb,var(--wrap-tint) 30%,var(--border));background:linear-gradient(135deg,color-mix(in srgb,var(--wrap-tint) 9%,transparent),transparent 60%),var(--surface)}.wrap-card[style*=--wrap-tint]:before,.wrap-card[class*=tint-]:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--wrap-tint);transform:scaleY(0);transform-origin:top;animation:grow calc(.5s * var(--motion)) cubic-bezier(.2,.8,.3,1) .2s forwards}.wrap-card[style*=--wrap-tint] .wrap-label,.wrap-card[class*=tint-] .wrap-label{color:color-mix(in srgb,var(--wrap-tint) 70%,var(--text-muted))}.wrap-card[style*=--wrap-tint] .wrap-badge,.wrap-card[class*=tint-] .wrap-badge{background:var(--wrap-tint)}.wrap-card[style*=--wrap-tint]:hover,.wrap-card[class*=tint-]:hover{box-shadow:var(--shadow-md),0 12px 28px color-mix(in srgb,var(--wrap-tint) 18%,transparent)}.wrap-card .wrap-title.is-money{color:var(--wrap-tint, var(--accent))}.wrap-label{display:inline-flex;align-items:center;gap:.3125rem}.wrap-title small{font-size:.875rem;font-weight:600;color:var(--text-muted)}.wrap-foot-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-top:.25rem}@media(width<=62rem){.wrap-band-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(width<=42rem){.wrap-months{gap:.25rem}.wrap-month{width:auto;flex:1}.wrap-band-grid{grid-template-columns:minmax(0,1fr)}}.avg-row{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.75rem;margin:.75rem 0 .5rem}.avg{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;min-width:0;padding:.75rem .875rem;border-radius:var(--radius);border:1px solid color-mix(in srgb,var(--wrap-tint) 25%,var(--border));background:color-mix(in srgb,var(--wrap-tint) 7%,var(--surface));animation:rise calc(.32s * var(--motion)) cubic-bezier(.2,.8,.3,1) backwards;transition:transform .18s cubic-bezier(.2,.8,.3,1)}.avg:hover{transform:translateY(-2px)}.avg .kpi-label{color:color-mix(in srgb,var(--wrap-tint) 70%,var(--text-muted))}.avg:nth-child(1){animation-delay:calc(40ms * var(--motion))}.avg:nth-child(2){animation-delay:calc(80ms * var(--motion))}.avg:nth-child(3){animation-delay:calc(.12s * var(--motion))}.avg:nth-child(4){animation-delay:calc(.16s * var(--motion))}.avg:nth-child(5){animation-delay:calc(.2s * var(--motion))}.avg:nth-child(6){animation-delay:calc(.24s * var(--motion))}.avg-value{font-size:1.125rem;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.01em;overflow-wrap:anywhere}@media(width<=68rem){.avg-row{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(width<=38rem){.avg-row{grid-template-columns:repeat(2,minmax(0,1fr))}}.avg-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin:.75rem 0 .25rem}.summary-row dd{display:inline-flex;align-items:center;gap:.375rem;justify-content:flex-end;flex-wrap:wrap}.summary-row[class*=tint-] dt:before{content:"";display:inline-block;width:7px;height:7px;margin-right:.5rem;border-radius:50%;background:var(--wrap-tint);vertical-align:.05em;animation:dotIn calc(.32s * var(--motion)) cubic-bezier(.2,.9,.3,1.4) backwards}@keyframes dotIn{0%{transform:scale(0);opacity:0}}.summary-row{animation:rowIn calc(.28s * var(--motion)) cubic-bezier(.2,.8,.3,1) backwards}@keyframes rowIn{0%{opacity:0;transform:translate(-6px)}}.summary-row:nth-child(1){animation-delay:calc(20ms * var(--motion))}.summary-row:nth-child(2){animation-delay:calc(50ms * var(--motion))}.summary-row:nth-child(3){animation-delay:calc(80ms * var(--motion))}.summary-row:nth-child(4){animation-delay:calc(.11s * var(--motion))}.summary-row:nth-child(5){animation-delay:calc(.14s * var(--motion))}.summary-row:nth-child(6){animation-delay:calc(.17s * var(--motion))}.summary-row:nth-child(7){animation-delay:calc(.2s * var(--motion))}.summary-row:nth-child(n+8){animation-delay:calc(.23s * var(--motion))}.summary-row[class*=tint-] dt:before,.summary-row:nth-child(1) dt:before{animation-delay:inherit}.summary-row.is-total dt:before{width:9px;height:9px;box-shadow:0 0 0 3px color-mix(in srgb,var(--wrap-tint) 18%,transparent)}.account{display:flex;flex-direction:column;gap:1rem;max-width:48rem;width:100%;margin:0 auto;padding:1.5rem 1.25rem 3rem;box-sizing:border-box}.field-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.stat-card.is-danger{border-color:color-mix(in srgb,var(--danger) 35%,var(--border));background:linear-gradient(135deg,color-mix(in srgb,var(--danger) 6%,transparent),transparent 60%),var(--surface)}.stat-card.is-danger .card-title{color:var(--danger)}.alert.is-good{color:var(--tint-green);border-color:color-mix(in srgb,var(--tint-green) 35%,var(--border));background:color-mix(in srgb,var(--tint-green) 10%,var(--surface))}@media(width<=38rem){.field-row{grid-template-columns:minmax(0,1fr)}}.net-bar{display:flex;align-items:center;justify-content:center;gap:.625rem;flex-wrap:wrap;padding:.5rem 1rem;background:color-mix(in srgb,var(--tint-amber) 14%,var(--surface));border-bottom:1px solid color-mix(in srgb,var(--tint-amber) 30%,var(--border));color:var(--text);font-size:.8125rem;font-weight:600;text-align:center;position:relative;z-index:30;animation:rowIn calc(.26s * var(--motion)) cubic-bezier(.2,.8,.3,1) backwards}.net-bar.is-offline{background:color-mix(in srgb,var(--tint-rose) 12%,var(--surface));border-bottom-color:color-mix(in srgb,var(--tint-rose) 30%,var(--border))}.net-bar.is-update{background:color-mix(in srgb,var(--tint-indigo) 12%,var(--surface));border-bottom-color:color-mix(in srgb,var(--tint-indigo) 30%,var(--border))}.net-dot{width:8px;height:8px;border-radius:50%;background:var(--tint-rose);animation:pulse calc(1.8s * var(--motion)) ease-in-out infinite}.net-dot.is-pending{background:var(--tint-amber)}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.75)}}.net-action{padding:.1875rem .625rem;border:1px solid var(--border-strong);border-radius:999px;background:var(--surface);color:inherit;font:inherit;font-size:.75rem;cursor:pointer;transition:transform .15s ease,background .15s ease}.net-action:hover:not(:disabled){background:var(--surface-sunken);transform:translateY(-1px)}.net-action:disabled{opacity:.6;cursor:default}.import-summary{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin:.75rem 0 .5rem}.import-table{max-height:18rem;overflow:auto;border:1px solid var(--border);border-radius:var(--radius)}.import-table table{width:100%;border-collapse:collapse;font-size:.8125rem;font-variant-numeric:tabular-nums}.import-table th{position:sticky;top:0;z-index:1;padding:.5rem .625rem;background:var(--surface-sunken);border-bottom:1px solid var(--border);text-align:left;font-size:.6875rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.import-table td{padding:.4375rem .625rem;border-bottom:1px solid var(--border)}.import-table tr:last-child td{border-bottom:0}.import-table tr.is-skipped{color:var(--text-faint);background:color-mix(in srgb,var(--tint-rose) 6%,transparent)}.import-note{display:flex;align-items:center;gap:.25rem;max-width:16rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}tr.is-skipped .import-note{color:var(--tint-rose)}.field-hint.is-warning{color:var(--tint-amber);padding:.5rem .625rem;border:1px solid color-mix(in srgb,var(--tint-amber) 30%,var(--border));border-radius:var(--radius);background:color-mix(in srgb,var(--tint-amber) 8%,transparent)}.undo-bar{position:fixed;left:50%;bottom:1.25rem;z-index:40;display:flex;align-items:center;gap:.625rem;padding:.5rem .5rem .5rem .875rem;border:1px solid var(--border-strong);border-radius:999px;background:var(--surface);box-shadow:var(--shadow-lg);font-size:.8125rem;font-weight:600;white-space:nowrap;transform:translate(-50%);animation:undoIn calc(.28s * var(--motion)) cubic-bezier(.2,.9,.3,1.2) backwards}@keyframes undoIn{0%{opacity:0;transform:translate(-50%,1.25rem)}}.undo-close{display:grid;place-items:center;width:1.5rem;height:1.5rem;border:0;border-radius:50%;background:transparent;color:var(--text-faint);cursor:pointer}.undo-close:hover{background:var(--surface-sunken);color:var(--text)}@media(width<=38rem){.undo-bar{left:.75rem;right:.75rem;bottom:.75rem;transform:none;justify-content:center}@keyframes undoIn{0%{opacity:0;transform:translateY(1.25rem)}}}.search-hits{display:flex;flex-direction:column;gap:.375rem;max-height:22rem;overflow:auto;margin-top:.75rem}.search-hit{display:grid;grid-template-columns:minmax(7rem,auto) minmax(0,1fr) auto;grid-template-areas:"date shifts earned" "date note earned";align-items:center;gap:.125rem .75rem;width:100%;padding:.5rem .75rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:inherit;font:inherit;text-align:left;cursor:pointer;transition:transform .15s cubic-bezier(.2,.8,.3,1),border-color .15s ease}.search-hit:hover{transform:translate(2px);border-color:var(--border-strong)}.search-date{grid-area:date;font-size:.8125rem;font-weight:650}.search-shifts{grid-area:shifts;color:var(--text-muted);font-size:.75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-note{grid-area:note;color:var(--text-faint);font-size:.75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-earned{grid-area:earned;font-size:.8125rem;font-weight:650;font-variant-numeric:tabular-nums;color:var(--tint-green)}@media(width<=38rem){.search-hit{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"date earned" "shifts earned" "note note"}}.onboard{display:flex;flex-direction:column;gap:.5rem;padding:1.5rem;margin-bottom:1rem;border:1px solid color-mix(in srgb,var(--tint-teal) 28%,var(--border));border-radius:var(--radius-lg);background:radial-gradient(32rem 16rem at 12% 0%,color-mix(in srgb,var(--tint-teal) 10%,transparent),transparent 70%),var(--surface);box-shadow:var(--shadow-sm);animation:rise calc(.36s * var(--motion)) cubic-bezier(.2,.8,.3,1) backwards}.onboard-badge{font-size:1.75rem;line-height:1;font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",system-ui,sans-serif}.onboard-title{margin:0;font-size:1.25rem;font-weight:700;letter-spacing:-.015em}.onboard-steps{display:flex;flex-direction:column;gap:.625rem;margin:.75rem 0 0;padding:0;list-style:none;counter-reset:none}.onboard-step{display:flex;align-items:flex-start;gap:.75rem;transition:opacity .2s ease}.onboard-step.is-done{opacity:.55}.onboard-step.is-done strong{text-decoration:line-through;text-decoration-color:var(--text-faint)}.onboard-tick{display:grid;place-items:center;flex:none;width:1.5rem;height:1.5rem;border-radius:50%;background:var(--surface-sunken);border:1px solid var(--border-strong);color:var(--text-muted);font-size:.75rem;font-weight:700}.onboard-step.is-done .onboard-tick{background:var(--tint-green);border-color:var(--tint-green);color:#fff;animation:pop calc(.32s * var(--motion)) cubic-bezier(.2,.9,.3,1.3) backwards}.onboard-body{display:flex;flex-direction:column;gap:.125rem;min-width:0}@media(width<=46rem){.dashboard{grid-template-columns:minmax(0,1fr);gap:.75rem;padding:.75rem}.topbar{gap:.375rem;padding:.5rem .75rem}.topbar .button.is-quiet{padding:.4375rem;font-size:0;gap:0}.topbar .button.is-quiet app-icon{font-size:1rem}.topbar .who{display:none}.day-cell{min-height:3.75rem}.day-shift-name{display:none}.sidebar,.day-panel{position:static;max-height:none}.day-panel{order:1}.sidebar{order:2}.calendar{order:0}.kpi-row,.bento{grid-template-columns:minmax(0,1fr)}}@media(pointer:coarse){.button,.nav,.toggle-row,.palette li button{min-height:2.75rem}.net-action,.undo-close{min-height:2rem}}.team{display:flex;flex-direction:column;gap:1rem;max-width:72rem;width:100%;margin:0 auto;padding:1.5rem 1.25rem 3rem;box-sizing:border-box}.rota-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.month-switch{display:flex;align-items:center;gap:.5rem;flex:none}.rota-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin:.75rem 0}.rota-scroll{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius)}.rota{border-collapse:collapse;width:max-content;min-width:100%;font-size:.75rem}.rota th,.rota td{border-bottom:1px solid var(--border);border-right:1px solid var(--border)}.rota tr:last-child th,.rota tr:last-child td{border-bottom:0}.rota-corner,.rota-name{position:sticky;left:0;z-index:2;min-width:8rem;max-width:10rem;padding:.375rem .625rem;background:var(--surface);text-align:left;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rota-corner{z-index:3;background:var(--surface-sunken);font-size:.6875rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.rota-day{min-width:1.75rem;padding:.25rem .125rem;background:var(--surface-sunken);font-weight:600;line-height:1.1}.rota-day.is-weekend{background:color-mix(in srgb,var(--tint-amber) 8%,var(--surface-sunken))}.rota-weekday{display:block;color:var(--text-faint);font-size:.5625rem;text-transform:uppercase}.rota-date{display:block;font-variant-numeric:tabular-nums}.rota-cell{height:2rem;padding:.125rem;text-align:center;vertical-align:middle}.rota-cell.is-weekend{background:color-mix(in srgb,var(--tint-amber) 5%,transparent)}.rota-mark{display:inline-grid;place-items:center;width:1.375rem;height:1.375rem;border-radius:6px;background:color-mix(in srgb,var(--mark-colour, var(--accent)) 85%,transparent);color:#fff;font-size:.6875rem;font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",system-ui,sans-serif;animation:pop calc(.24s * var(--motion)) cubic-bezier(.2,.9,.3,1.2) backwards}.rota-mark.is-planned{background:transparent;border:1px dashed color-mix(in srgb,var(--mark-colour, var(--accent)) 70%,transparent);color:var(--text-muted)}.rota tr.is-you .rota-name{color:var(--accent);background:var(--accent-soft)}.rota-you{margin-left:.375rem;padding:.0625rem .3125rem;border-radius:999px;background:var(--accent);color:var(--on-accent);font-size:.5625rem;text-transform:uppercase;letter-spacing:.04em}.rota-total{min-width:2.5rem;padding:.25rem .5rem;text-align:right;font-weight:700;font-variant-numeric:tabular-nums;background:var(--surface-sunken)}.invite{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin:.5rem 0}.invite-code{padding:.375rem .875rem;border:1px dashed var(--border-strong);border-radius:var(--radius);background:var(--surface-sunken);font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:1.125rem;font-weight:700;letter-spacing:.18em}@media(width<=46rem){.rota-kpis{grid-template-columns:minmax(0,1fr)}.rota-corner,.rota-name{min-width:6rem}}.payouts{display:flex;flex-direction:column;gap:1rem;max-width:56rem;width:100%;margin:0 auto;padding:1.5rem 1.25rem 3rem;box-sizing:border-box}.shortfall-line{margin:.25rem 0;font-size:.9375rem}.shortfall-total{margin:.25rem 0 .5rem;font-size:1.5rem;font-weight:750;letter-spacing:-.02em;color:var(--danger);font-variant-numeric:tabular-nums}.pay-list{display:flex;flex-direction:column;gap:.375rem;margin-top:.75rem}.pay-row{display:grid;grid-template-columns:8px minmax(0,1fr) auto auto;align-items:center;gap:.75rem;padding:.625rem .75rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);animation:rowIn calc(.28s * var(--motion)) cubic-bezier(.2,.8,.3,1) backwards}.pay-row.is-late{border-color:color-mix(in srgb,var(--tint-rose) 40%,var(--border));background:color-mix(in srgb,var(--tint-rose) 6%,var(--surface))}.pay-row.is-short{border-color:color-mix(in srgb,var(--tint-amber) 40%,var(--border));background:color-mix(in srgb,var(--tint-amber) 6%,var(--surface))}.pay-dot{width:8px;height:8px;border-radius:50%}.pay-where,.pay-when{display:flex;flex-direction:column;gap:.0625rem;min-width:0}.pay-when{align-items:flex-end;text-align:right}.pay-status{font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.pay-status[data-status=overdue]{color:var(--tint-rose)}.pay-status[data-status=short]{color:var(--tint-amber)}.pay-status[data-status=paid]{color:var(--tint-green)}.pay-status[data-status=over]{color:var(--tint-cyan)}.pay-status[data-status=due]{color:var(--tint-indigo)}.pay-status[data-status=open]{color:var(--text-faint)}.pay-amount{display:flex;flex-direction:column;align-items:flex-end;min-width:5rem;font-weight:700;font-variant-numeric:tabular-nums;text-align:right}.pay-amount small{font-size:.6875rem;font-weight:600;color:var(--text-muted)}.pay-amount.is-short small{color:var(--tint-rose)}@media(width<=38rem){.pay-row{grid-template-columns:8px minmax(0,1fr) auto;grid-template-areas:"dot where amount" "dot when amount";row-gap:.125rem}.pay-dot{grid-area:dot}.pay-where{grid-area:where}.pay-when{grid-area:when;align-items:flex-start;text-align:left}.pay-amount{grid-area:amount}}.topnav{display:flex;align-items:center;gap:.125rem;margin-left:auto;padding:.1875rem;border:1px solid var(--border);border-radius:999px;background:var(--surface-sunken);flex-wrap:wrap}.topnav-item{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;border:0;border-radius:999px;background:transparent;color:var(--text-muted);font:inherit;font-size:.8125rem;font-weight:600;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background .15s ease,color .15s ease,transform .15s ease}.topnav-item:hover{background:var(--surface);color:var(--text);transform:translateY(-1px)}.topnav-item.is-active{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}.topnav-item.is-feature{color:var(--tint-teal)}.topnav-item.is-feature app-icon{animation:breathe calc(3.2s * var(--motion)) ease-in-out infinite}.topnav-item.is-feature.is-active app-icon{animation:none}@media(width<=52rem){.topnav-item span{display:none}.topnav-item{padding:.5rem}}.cover-toggle{display:inline-flex;align-items:center;gap:.25rem;padding:.1875rem .5rem;border:1px dashed var(--border-strong);border-radius:999px;background:transparent;color:var(--text-muted);font:inherit;font-size:.6875rem;font-weight:600;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.cover-toggle:hover{border-color:var(--tint-amber);color:var(--tint-amber)}.cover-toggle.is-on{border-style:solid;border-color:var(--tint-amber);background:color-mix(in srgb,var(--tint-amber) 14%,transparent);color:var(--tint-amber)}.stat-card.is-warning{border-color:color-mix(in srgb,var(--tint-amber) 40%,var(--border));background:linear-gradient(135deg,color-mix(in srgb,var(--tint-amber) 8%,transparent),transparent 60%),var(--surface)}.stat-card.is-warning .card-title{color:var(--tint-amber)}.cover-list{display:flex;flex-direction:column;gap:.375rem;margin-top:.5rem}.cover-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.625rem;padding:.5rem .625rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.cover-who{display:flex;flex-direction:column;gap:.0625rem;min-width:0}.cover-when{font-size:.8125rem;font-weight:650;white-space:nowrap}.rota-mark.needs-cover{outline:2px solid var(--tint-amber);outline-offset:1px;animation:coverPulse calc(2s * var(--motion)) ease-in-out infinite}@keyframes coverPulse{0%,to{outline-color:color-mix(in srgb,var(--tint-amber) 35%,transparent)}50%{outline-color:var(--tint-amber)}}.gap-list{display:flex;flex-wrap:wrap;gap:.375rem;margin-top:.5rem}.gap-chip{padding:.1875rem .5rem;border:1px solid color-mix(in srgb,var(--tint-rose) 30%,var(--border));border-radius:999px;background:color-mix(in srgb,var(--tint-rose) 8%,transparent);font-size:.75rem;font-weight:600}.rota-day-button{display:flex;flex-direction:column;align-items:center;width:100%;padding:0;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer}.rota-day.is-focused{background:var(--accent-soft);color:var(--accent)}.day-focus{display:flex;align-items:center;gap:.625rem;flex-wrap:wrap;margin-top:.75rem;padding:.625rem .75rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-sunken);animation:rowIn calc(.24s * var(--motion)) cubic-bezier(.2,.8,.3,1) backwards}.settings-link{display:flex;align-items:center;gap:.625rem;padding:.625rem .75rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:inherit;text-decoration:none;transition:transform .15s cubic-bezier(.2,.8,.3,1),border-color .15s ease}.settings-link+.settings-link{margin-top:.375rem}.settings-link:hover{transform:translate(2px);border-color:var(--border-strong)}.settings-link-body{display:flex;flex-direction:column;gap:.0625rem;min-width:0;margin-right:auto}.team-card{display:flex;flex-direction:column;gap:.5rem;padding:.875rem;border:1px solid color-mix(in srgb,var(--tint-teal) 25%,var(--border));border-radius:var(--radius);background:linear-gradient(135deg,color-mix(in srgb,var(--tint-teal) 8%,transparent),transparent 60%),var(--surface);animation:rise calc(.32s * var(--motion)) cubic-bezier(.2,.8,.3,1) backwards}.team-card .block-title{display:flex;align-items:center;gap:.375rem;color:var(--tint-teal)}.team-today{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.team-figure{display:flex;flex-direction:column;gap:.0625rem}.team-figure strong{font-size:1.375rem;font-weight:750;line-height:1.1;font-variant-numeric:tabular-nums}.team-alert{display:inline-flex;align-items:center;gap:.375rem;padding:.3125rem .625rem;border:1px solid color-mix(in srgb,var(--tint-amber) 40%,var(--border));border-radius:999px;background:color-mix(in srgb,var(--tint-amber) 12%,transparent);color:var(--tint-amber);font-size:.75rem;font-weight:700;text-decoration:none;animation:coverPulse calc(2.4s * var(--motion)) ease-in-out infinite}.alert.is-quiet{display:flex;flex-direction:column;gap:.25rem;padding:.5rem .75rem;border-color:var(--border-strong);background:var(--surface-sunken);color:var(--text-muted);font-size:.8125rem;font-weight:600}.alert.is-quiet small{font-weight:500}.alert.is-quiet code{padding:.0625rem .3125rem;border-radius:4px;background:var(--surface);font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.75rem;color:var(--text)}
