:root,[data-theme=light]{--brand: #6761fb;--brand-text: #524be6;--brand-text-strong: #3b34c4;--brand-soft: #efeeff;--brand-line: #cfcdfd;--ink: #17171a;--ink-muted: #5c5c63;--ink-subtle: #6d6d73;--ink-disabled: #a8a8ae;--surface: #ffffff;--canvas: #f4f4f1;--surface-sunken: #f7f7f4;--surface-page: #fbfbfa;--surface-table-head: #ffffff;--line: #edede8;--line-strong: #deded9;--success: #1c8530;--success-soft: #eefff1;--success-accent: #85df96;--success-subtle: #d2fad9;--warning: #b65500;--warning-soft: #fff4ea;--warning-accent: #fbad67;--warning-subtle: #ffe3ca;--danger: #d4323a;--danger-soft: #fff4f4;--danger-accent: #fd7379;--danger-subtle: #ffccce;--neutral-soft: #f1f1ee;--neutral-accent: #c4c4be;--scrim: rgba(16,16,18,.55);--night: #17143f;--night-raised: #272268;--on-night-muted: #b9b6e8;--shadow-float: 0 12px 32px rgba(20,20,18,.2);--shadow-drawer: -24px 0 48px rgba(20,20,18,.1)}:root{--space-4: 4px;--space-6: 6px;--space-8: 8px;--space-10: 10px;--space-12: 12px;--space-14: 14px;--space-16: 16px;--space-18: 18px;--space-20: 20px;--space-22: 22px;--space-26: 26px;--space-28: 28px;--space-40: 40px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-pill: 999px;--touch-target: 44px;--touch-target-input: 56px;--shell-head-height: 92px;--control-height: 42px;--drawer-action-height: 48px;--bar-height: 5px;--bar-compact-width: 80px;--bar-stripe-width: 3px;--illustration-width: 200px;--screen-column-width: 430px;--card-width: 420px;--focus-ring-width: 2px;--focus-offset: 2px;--focus-offset-tight: 1px;--focus-offset-inset: -2px;--photo-hover-opacity: .85;--z-screen-leaving: 1;--z-drawer-scrim: 30;--z-drawer: 40;--z-dialog: 45;--z-toast: 50;--z-nav-scrim: 55;--z-nav: 60;--z-popover: 60;--z-lightbox: 90;--motion-loader-cycle: 1.2s;--motion-skeleton-pulse: 1.6s;--motion-screen-slide: .3s;--motion-screen-fade: .15s;--motion-ease-screen: cubic-bezier(.2, 0, 0, 1);--font-sans: Satoshi, system-ui, sans-serif;--font-icons: "Material Symbols Rounded";--text-m-display: 700 34px/1.12 var(--font-sans);--text-m-title: 700 30px/1.15 var(--font-sans);--text-m-day: 700 23px/1.2 var(--font-sans);--text-m-lead: 400 18px/1.5 var(--font-sans);--text-m-body: 400 17px/1.5 var(--font-sans);--text-m-body-medium: 500 17px/1.5 var(--font-sans);--text-m-body-strong: 700 17px/1.5 var(--font-sans);--text-m-choice: 500 18px/1.25 var(--font-sans);--text-m-choice-strong: 700 18px/1.25 var(--font-sans);--text-m-button: 700 19px/1 var(--font-sans);--text-m-button-lg: 700 21px/1 var(--font-sans);--text-m-error: 500 16px/1.45 var(--font-sans);--text-m-section: 700 15px/1.2 var(--font-sans);--text-m-field-label: 700 14px/1.2 var(--font-sans);--text-m-field: 500 21px/1.2 var(--font-sans);--text-m-time: 700 30px/1 var(--font-sans);--text-m-tab: 700 11px/1.2 var(--font-sans);--text-d-title: 700 22px/1.2 var(--font-sans);--text-d-drawer-title: 700 19px/1.2 var(--font-sans);--text-d-drawer-title-tracking: -.02em;--text-d-stat: 700 20px/1.2 var(--font-sans);--text-d-card-title: 700 16px/1.3 var(--font-sans);--text-d-nav: 500 15px/1.2 var(--font-sans);--text-d-nav-strong: 700 15px/1.2 var(--font-sans);--text-d-body: 400 14px/1.45 var(--font-sans);--text-d-body-medium: 500 14px/1.45 var(--font-sans);--text-d-body-strong: 700 14px/1.45 var(--font-sans);--text-d-button: 700 15px/1 var(--font-sans);--text-d-drawer-action: 500 16px/1 var(--font-sans);--text-d-field: 400 15px/1.45 var(--font-sans);--text-d-small: 400 13px/1.45 var(--font-sans);--text-d-small-medium: 500 13px/1.45 var(--font-sans);--text-d-field-label-large: 700 15px/1.45 var(--font-sans);--text-d-small-strong: 700 13px/1.45 var(--font-sans);--text-d-caption: 700 12px/1.35 var(--font-sans);--text-d-caption-medium: 500 12px/1.35 var(--font-sans);--text-d-caption-regular: 400 12px/1.35 var(--font-sans);--text-d-section-title: 700 13px/1.2 var(--font-sans);--text-d-section-title-tracking: .06em;--text-d-overline: 700 11px/1.2 var(--font-sans);--text-d-nav-group: 700 11px/1.2 var(--font-sans);--text-d-nav-group-tracking: .08em}.m-display{font-family:var(--font-sans);font-size:34px;line-height:1.12;font-weight:700;letter-spacing:0}.m-title{font-family:var(--font-sans);font-size:30px;line-height:1.15;font-weight:700;letter-spacing:0}.m-day{font-family:var(--font-sans);font-size:23px;line-height:1.2;font-weight:700;letter-spacing:0}.m-lead{font-family:var(--font-sans);font-size:18px;line-height:1.5;font-weight:400;letter-spacing:0}.m-body{font-family:var(--font-sans);font-size:17px;line-height:1.5;font-weight:400;letter-spacing:0}.m-body-medium{font-family:var(--font-sans);font-size:17px;line-height:1.5;font-weight:500;letter-spacing:0}.m-body-strong{font-family:var(--font-sans);font-size:17px;line-height:1.5;font-weight:700;letter-spacing:0}.m-choice{font-family:var(--font-sans);font-size:18px;line-height:1.25;font-weight:500;letter-spacing:0}.m-choice-strong{font-family:var(--font-sans);font-size:18px;line-height:1.25;font-weight:700;letter-spacing:0}.m-button{font-family:var(--font-sans);font-size:19px;line-height:1;font-weight:700;letter-spacing:0}.m-button-lg{font-family:var(--font-sans);font-size:21px;line-height:1;font-weight:700;letter-spacing:0}.m-error{font-family:var(--font-sans);font-size:16px;line-height:1.45;font-weight:500;letter-spacing:0}.m-section{font-family:var(--font-sans);font-size:15px;line-height:1.2;font-weight:700;letter-spacing:0}.m-field-label{font-family:var(--font-sans);font-size:14px;line-height:1.2;font-weight:700;letter-spacing:0}.m-field{font-family:var(--font-sans);font-size:21px;line-height:1.2;font-weight:500;letter-spacing:0}.m-time{font-family:var(--font-sans);font-size:30px;line-height:1;font-weight:700;letter-spacing:0}.m-tab{font-family:var(--font-sans);font-size:11px;line-height:1.2;font-weight:700;letter-spacing:0}.d-title{font-family:var(--font-sans);font-size:22px;line-height:1.2;font-weight:700;letter-spacing:0}.d-drawer-title{font-family:var(--font-sans);font-size:19px;line-height:1.2;font-weight:700;letter-spacing:-.02em}.d-stat{font-family:var(--font-sans);font-size:20px;line-height:1.2;font-weight:700;letter-spacing:0}.d-card-title{font-family:var(--font-sans);font-size:16px;line-height:1.3;font-weight:700;letter-spacing:0}.d-nav{font-family:var(--font-sans);font-size:15px;line-height:1.2;font-weight:500;letter-spacing:0}.d-nav-strong{font-family:var(--font-sans);font-size:15px;line-height:1.2;font-weight:700;letter-spacing:0}.d-body{font-family:var(--font-sans);font-size:14px;line-height:1.45;font-weight:400;letter-spacing:0}.d-body-medium{font-family:var(--font-sans);font-size:14px;line-height:1.45;font-weight:500;letter-spacing:0}.d-body-strong{font-family:var(--font-sans);font-size:14px;line-height:1.45;font-weight:700;letter-spacing:0}.d-button{font-family:var(--font-sans);font-size:15px;line-height:1;font-weight:700;letter-spacing:0}.d-drawer-action{font-family:var(--font-sans);font-size:16px;line-height:1;font-weight:500;letter-spacing:0}.d-field{font-family:var(--font-sans);font-size:15px;line-height:1.45;font-weight:400;letter-spacing:0}.d-small{font-family:var(--font-sans);font-size:13px;line-height:1.45;font-weight:400;letter-spacing:0}.d-small-medium{font-family:var(--font-sans);font-size:13px;line-height:1.45;font-weight:500;letter-spacing:0}.d-field-label-large{font-family:var(--font-sans);font-size:15px;line-height:1.45;font-weight:700;letter-spacing:0}.d-small-strong{font-family:var(--font-sans);font-size:13px;line-height:1.45;font-weight:700;letter-spacing:0}.d-caption{font-family:var(--font-sans);font-size:12px;line-height:1.35;font-weight:700;letter-spacing:0}.d-caption-medium{font-family:var(--font-sans);font-size:12px;line-height:1.35;font-weight:500;letter-spacing:0}.d-caption-regular{font-family:var(--font-sans);font-size:12px;line-height:1.35;font-weight:400;letter-spacing:0}.d-section-title{font-family:var(--font-sans);font-size:13px;line-height:1.2;font-weight:700;letter-spacing:.06em}.d-overline{font-family:var(--font-sans);font-size:11px;line-height:1.2;font-weight:700;letter-spacing:0}.d-nav-group{font-family:var(--font-sans);font-size:11px;line-height:1.2;font-weight:700;letter-spacing:.08em}@font-face{font-family:Satoshi;src:url(/assets/Satoshi-400-CPM9dct4.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Satoshi;src:url(/assets/Satoshi-500-ByP-Zb-9.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Satoshi;src:url(/assets/Satoshi-700-Bd5kKQ_U.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Material Symbols Rounded;src:url(/assets/MaterialSymbolsRounded-CTbOhH1V.woff2) format("woff2");font-weight:400;font-style:normal;font-display:block}.af-thumb{display:inline-flex;flex:none;padding:0;border:0;background:none;border-radius:var(--radius-md);overflow:hidden}.af-thumb-button{cursor:pointer}.af-thumb-button:focus-visible{outline:var(--focus-ring-width) solid var(--brand);outline-offset:var(--focus-offset)}.af-thumb-img{display:block;object-fit:cover;background:var(--neutral-soft)}@media(hover:hover){.af-thumb-button:hover .af-thumb-img{opacity:var(--photo-hover-opacity)}}.af-activity{display:flex;gap:var(--space-12);list-style:none}.af-activity-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:7px}.af-activity-meta{font:var(--text-d-caption-medium);color:var(--ink-subtle)}.af-activity-text{font:var(--text-d-body-medium);text-wrap:pretty}.af-activity-photos{display:flex;flex-wrap:wrap;gap:var(--space-8)}.af-icon{font-family:var(--font-icons),sans-serif;font-weight:400;font-style:normal;line-height:1;text-transform:none;display:inline-block;width:1em;height:1em;overflow:hidden;white-space:nowrap;direction:ltr;font-feature-settings:"liga";-webkit-font-smoothing:antialiased}.af-addphoto{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-6);width:100%;height:96px;box-sizing:border-box;border:2px dashed var(--line-strong);border-radius:var(--radius-xl);background:var(--surface);color:var(--brand-text);font:var(--text-m-body-strong);cursor:pointer}.af-addphoto:focus-visible{outline:var(--focus-ring-width) solid var(--brand);outline-offset:var(--focus-offset)}.af-avatar{flex:none;border-radius:var(--radius-pill);display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-sans);font-weight:700;background-size:cover;background-position:center}.af-avatar-brand{background-color:var(--brand-soft);color:var(--brand-text)}.af-avatar-warning{background-color:var(--warning-soft);color:var(--warning)}.af-avatar-neutral{background-color:var(--neutral-soft);color:var(--ink-subtle)}.af-avatar-hatched{background-image:repeating-linear-gradient(135deg,var(--neutral-soft) 0 7px,var(--canvas) 7px 14px);color:var(--ink-subtle)}.af-bbar{display:flex;flex-direction:column;gap:var(--space-8)}.af-bbar-track{display:flex;height:var(--bar-height);border-radius:var(--radius-pill);background:var(--neutral-soft);overflow:hidden}.af-bbar-track-clous{background:var(--success-subtle)}.af-bbar-track-serre{background:var(--warning-subtle)}.af-bbar-track-surveiller{background:var(--danger-subtle)}.af-bbar-track-neutre{background:var(--neutral-soft)}.af-bbar-clous{background:var(--success-accent)}.af-bbar-serre{background:var(--warning-accent)}.af-bbar-surveiller{background:var(--danger-accent)}.af-bbar-legend{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-4) var(--space-12)}.af-bbar-figures{font:var(--text-d-body-strong)}.af-bbar-pct{margin-left:auto;text-align:right;font:var(--text-d-small-strong);color:var(--ink-subtle)}.af-bbar-neutre{background:var(--neutral-accent)}.af-bbar-track-confirmer{background:var(--neutral-soft)}.af-bbar-confirmer{background:repeating-linear-gradient(135deg,var(--brand) 0 var(--bar-stripe-width),var(--brand-line) var(--bar-stripe-width) calc(2 * var(--bar-stripe-width)))}.af-bbar-compact{flex-direction:row;align-items:center;gap:var(--space-10)}.af-bbar-compact .af-bbar-track{width:var(--bar-compact-width);flex:none}.af-bbar-compact-figures{font:var(--text-d-caption-medium);color:var(--ink-subtle)}.af-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-8);border:0;cursor:pointer;font-family:var(--font-sans);box-sizing:border-box;white-space:nowrap}.af-btn:focus-visible{outline:var(--focus-ring-width) solid var(--brand);outline-offset:var(--focus-offset)}.af-btn-block{display:flex;width:100%}.af-btn-xl{height:68px;border-radius:var(--radius-lg);font:var(--text-m-button-lg);padding:0 var(--space-26);gap:var(--space-10)}.af-btn-lg{height:64px;border-radius:var(--radius-lg);font:var(--text-m-button);padding:0 var(--space-26);gap:var(--space-10)}.af-btn-md,.af-btn-header{height:var(--control-height);border-radius:var(--radius-md);font:var(--text-d-body-strong);padding:0 var(--space-18)}.af-btn-header{font:var(--text-d-button)}.af-btn-sm{height:32px;min-width:80px;border-radius:var(--radius-sm);font:var(--text-d-small-strong);padding:0 var(--space-12)}.af-btn-inline{min-height:var(--touch-target);padding:0;font:inherit;font-weight:700}.af-btn-icon-only{min-width:var(--touch-target)}.af-btn-primary{background:var(--brand);color:var(--surface)}.af-btn-secondary{background:var(--surface);color:var(--ink);border:1px solid var(--line-strong)}.af-btn-lg.af-btn-secondary{border:2px solid var(--brand);color:var(--brand-text)}.af-btn-tonal{background:var(--brand-soft);color:var(--brand-text)}.af-btn-warning{background:var(--surface);color:var(--warning);border:1px solid var(--warning)}.af-btn-outline{background:var(--surface);color:var(--brand-text);border:1px solid var(--brand)}.af-btn-link{background:none;color:var(--brand-text);text-decoration:underline}.af-btn-danger{background:none;color:var(--danger)}.af-btn-danger-outline{background:var(--surface);color:var(--danger);border:1px solid var(--danger-subtle)}.af-btn-icon-only.af-btn-danger{border-radius:var(--radius-pill);color:var(--ink-subtle)}.af-btn-icon-only.af-btn-danger:focus-visible{background:var(--danger-soft);color:var(--danger)}.af-btn-secondary[aria-pressed=true]{background:var(--brand-soft);border-color:var(--brand-line);color:var(--brand-text)}@media(hover:hover){.af-btn-primary:hover{background:var(--brand-text)}.af-btn-secondary:enabled:not([aria-pressed=true]):hover{border-color:var(--brand);color:var(--brand-text)}.af-btn-lg.af-btn-secondary:enabled:hover{background:var(--brand-soft)}.af-btn-tonal:hover{background:var(--brand-line);color:var(--brand-text-strong)}.af-btn-warning:hover{background:var(--warning-soft)}.af-btn-outline:hover{background:var(--brand-soft)}.af-btn-danger:hover,.af-btn-danger-outline:hover{background:var(--danger-soft)}.af-btn-icon-only.af-btn-danger:not(:disabled):hover{background:var(--danger-soft);color:var(--danger)}.af-btn-link:hover{color:var(--brand-text-strong)}}.af-btn:disabled{background:var(--neutral-soft);color:var(--ink-subtle);border-color:var(--line-strong);cursor:not-allowed}.af-btn-link:disabled,.af-btn-danger:disabled{background:none;text-decoration:none}.af-cal{display:flex;flex-direction:column;gap:var(--space-8)}.af-cal-head{display:flex;align-items:center;justify-content:space-between}.af-cal-title{font:var(--text-d-body-strong)}.af-cal-month{width:var(--touch-target);height:var(--touch-target);display:flex;align-items:center;justify-content:center;border:0;border-radius:var(--radius-md);background:none;color:var(--ink-muted);cursor:pointer}@media(hover:hover){.af-cal-month:hover:not([aria-disabled=true]){background:var(--brand-soft);color:var(--brand-text-strong)}}.af-cal-month[aria-disabled=true]{color:var(--ink-disabled);cursor:default}.af-cal-grid{border-collapse:collapse;width:100%}.af-cal-grid th{padding:0 0 var(--space-4);font:var(--text-d-overline);color:var(--ink-subtle);text-align:center}.af-cal-grid td{padding:0}.af-cal-grid tbody .af-cal-weeknum{padding:0 var(--space-6) 0 0;font:var(--text-d-small)}@media(hover:hover){.af-cal-grid:not(.is-week) .af-cal-day:hover:not(:disabled,.is-selected){background:var(--brand-soft);color:var(--brand-text-strong)}.af-cal-grid.is-week tbody tr:not(.is-selected):hover:has(.af-cal-day:enabled) td{background:var(--brand-soft)}.af-cal-grid.is-week tbody tr:not(.is-selected):hover .af-cal-day:enabled{color:var(--brand-text-strong)}.af-cal-grid.is-week tbody tr:hover td:first-of-type{border-top-left-radius:var(--radius-md);border-bottom-left-radius:var(--radius-md)}.af-cal-grid.is-week tbody tr:hover td:last-of-type{border-top-right-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md)}}.af-cal-grid tr.is-selected td{background:var(--brand)}.af-cal-grid tr.is-selected td:first-of-type{border-top-left-radius:var(--radius-md);border-bottom-left-radius:var(--radius-md)}.af-cal-grid tr.is-selected td:last-of-type{border-top-right-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md)}.af-cal-grid tr.is-selected .af-cal-weeknum{color:var(--brand-text);font:var(--text-d-small-strong)}.af-cal-day{width:100%;min-width:var(--touch-target);height:var(--touch-target);border:0;border-radius:var(--radius-md);background:none;color:var(--ink);font:var(--text-d-body);cursor:pointer}.af-cal-day.is-outside{color:var(--ink-subtle)}.af-cal-day:disabled{color:var(--ink-disabled);cursor:default}.af-cal-day.is-selected,.af-cal-grid tr.is-selected .af-cal-day{background:var(--brand);color:var(--surface);font:var(--text-d-body-strong)}.af-cal-month:focus-visible,.af-cal-day:focus-visible{outline:var(--focus-ring-width) solid var(--brand);outline-offset:var(--focus-offset-inset)}.af-range{display:flex;flex-direction:column;gap:7px}.af-range-label{font:var(--text-d-small-strong);color:var(--ink-muted)}.af-range-trigger{display:flex;align-items:center;gap:var(--space-8);height:46px;border-radius:var(--radius-md);border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);padding:0 var(--space-14);font:var(--text-d-field);text-align:left;cursor:pointer}.af-range-trigger .af-icon{color:var(--ink-subtle)}.af-range-trigger.is-open{border-color:var(--brand);background:var(--brand-soft);color:var(--brand-text)}.af-range-popover{position:fixed;top:0;left:0;z-index:var(--z-popover);max-width:calc(100vw - 2 * var(--space-8));max-height:calc(100dvh - 2 * var(--space-8));overflow:auto;padding:var(--space-14);box-sizing:border-box;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-float);display:flex;flex-direction:column;gap:var(--space-8)}.af-range-months{display:flex;gap:var(--space-28)}.af-range-month{display:flex;flex-direction:column;gap:var(--space-8);width:calc(7 * var(--touch-target))}.af-range-head{display:flex;align-items:center;justify-content:space-between}.af-range-title{font:var(--text-d-body-strong)}.af-range-nav,.af-range-nav-space{width:var(--touch-target);height:var(--touch-target)}.af-range-nav{display:flex;align-items:center;justify-content:center;border:0;border-radius:var(--radius-md);background:none;color:var(--ink-muted);cursor:pointer}.af-range-nav[aria-disabled=true]{color:var(--ink-disabled);cursor:default}.af-range-grid{border-collapse:collapse;width:100%}.af-range-grid th{padding:0 0 var(--space-4);font:var(--text-d-overline);color:var(--ink-subtle);text-align:center}.af-range-grid td{padding:0}.af-range-grid td.is-in-range{background:var(--brand-soft)}.af-range-grid td.is-from,.af-range-grid td.is-in-range:first-child{border-top-left-radius:var(--radius-md);border-bottom-left-radius:var(--radius-md)}.af-range-grid td.is-to,.af-range-grid td.is-in-range:last-child{border-top-right-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md)}.af-range-day{width:100%;height:var(--touch-target);border:0;border-radius:var(--radius-md);background:none;color:var(--ink);font:var(--text-d-body);cursor:pointer}.af-range-grid td.is-in-range .af-range-day{color:var(--brand-text-strong)}@media(hover:hover){.af-range-nav:hover:not([aria-disabled=true]),.af-range-day:hover:not(:disabled,.is-end){background:var(--brand-soft);color:var(--brand-text-strong)}.af-range-trigger:not(.is-open):hover{border-color:var(--brand)}}.af-range-day:disabled{color:var(--ink-disabled);cursor:default}.af-range-grid td .af-range-day.is-end{background:var(--brand);color:var(--surface);font:var(--text-d-body-strong)}.af-range-hint{margin:0;font:var(--text-d-small);color:var(--ink-muted)}.af-range-trigger:focus-visible{outline:var(--focus-ring-width) solid transparent;border-color:var(--brand)}.af-range-nav:focus-visible,.af-range-day:focus-visible{outline:var(--focus-ring-width) solid var(--brand);outline-offset:var(--focus-offset-inset)}.af-callout{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-12);border-radius:var(--radius-lg);border:none;padding:var(--space-16) var(--space-18);font:var(--text-d-small-medium)}.af-callout-text{flex:1 1 160px;text-wrap:pretty}.af-callout-warning{background:var(--warning-soft);border:1px solid var(--warning-subtle);color:var(--warning)}.af-callout-success{background:var(--success-soft);border:1px solid var(--success-subtle);color:var(--success)}.af-callout-danger{background:var(--danger-soft);border:1px solid var(--danger-subtle);color:var(--danger)}.af-callout-info{background:var(--surface-sunken);color:var(--ink-muted);border-radius:var(--radius-md);padding:var(--space-12) var(--space-14);font:var(--text-d-small)}.af-callout-brand{background:var(--brand-soft);border:1px solid var(--brand-line);color:var(--brand-text)}.af-callout-opens{flex-wrap:nowrap;width:-webkit-fill-available;width:-moz-available;width:stretch;text-align:start;cursor:pointer}.af-callout-action{flex:none;align-self:center;height:36px;padding:0 var(--space-14);border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--warning-subtle);color:inherit;font:var(--text-d-small-strong);cursor:pointer}.af-callout-success .af-callout-action{border-color:var(--success-subtle)}.af-callout-danger .af-callout-action{border-color:var(--danger-subtle)}.af-callout-opens:focus-visible,.af-callout-action:focus-visible{outline:var(--focus-ring-width) solid var(--brand);outline-offset:var(--focus-offset)}@media(hover:hover){.af-callout-action:hover,.af-callout-opens:hover{border-color:currentColor}.af-callout-info.af-callout-opens:hover{background:var(--canvas)}}.af-chip{display:inline-flex;align-items:center;gap:var(--space-6);min-height:36px;padding:0 var(--space-14);border-radius:var(--radius-pill);border:1px solid var(--line-strong);background:var(--surface);color:var(--ink-muted);font:var(--text-d-small-medium);cursor:pointer;white-space:nowrap}.af-chip:focus-visible{outline:var(--focus-ring-width) solid var(--brand);outline-offset:var(--focus-offset)}.af-chip.is-selected{background:var(--brand-soft);border-color:var(--brand-line);color:var(--brand-text);font:var(--text-d-small-strong)}@media(hover:hover){.af-chip:not(.is-selected,:disabled):hover{border-color:var(--brand);color:var(--brand-text)}}.af-radio-input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer;-webkit-tap-highlight-color:transparent}.af-choice{position:relative;display:flex;align-items:center;gap:var(--space-14);width:100%;min-height:68px;padding:var(--space-12) var(--space-16);border-radius:var(--radius-lg);border:2px solid var(--line-strong);background:var(--surface);cursor:pointer;text-align:left;box-sizing:border-box}.af-choice:has(.af-radio-input:focus-visible){outline:var(--focus-ring-width) solid var(--brand);outline-offset:var(--focus-offset)}.af-choice-dot{width:24px;height:24px;flex:none;border-radius:var(--radius-pill);border:2px solid var(--line-strong);box-sizing:border-box}.af-choice-text{display:flex;flex-direction:column;gap:var(--space-4)}.af-choice-detail{font:var(--text-m-body);color:var(--ink-subtle)}.af-choice.is-selected .af-choice-detail{color:var(--ink-muted)}.af-choice-label{font:var(--text-m-choice);color:var(--ink-muted)}.af-choice.is-selected{border-color:var(--brand);background:var(--brand-soft)}.af-choice.is-selected .af-choice-dot{border:0;background:var(--brand)}.af-choice.is-selected .af-choice-label{font:var(--text-m-choice-strong);color:var(--ink)}.af-code{position:relative;display:flex;gap:9px;cursor:text}.af-code-input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;border:0;font:var(--text-m-body);caret-color:transparent}.af-code:focus-within .af-code-cell.is-active{outline:var(--focus-ring-width) solid var(--brand)}.af-code-cell{flex:1;height:76px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;font:var(--text-m-time);background:var(--canvas);border:2px solid var(--line-strong);box-sizing:border-box}.af-code-cell.is-active{background:var(--brand-soft);border-color:var(--brand)}.af-comment{display:flex;flex-direction:column;gap:var(--space-12)}.af-comment-label{font:var(--text-m-field-label);text-transform:uppercase;color:var(--ink-muted)}.af-comment-input{min-height:132px;padding:var(--space-14);border:0;border-radius:var(--radius-lg);background:var(--canvas);color:var(--ink);font:var(--text-m-body);resize:vertical;box-sizing:border-box}.af-comment-input::placeholder{color:var(--ink-disabled)}.af-comment-input:focus{outline:var(--focus-ring-width) solid var(--brand);outline-offset:var(--focus-offset-inset)}.af-comment-d{gap:7px}.af-comment-d .af-comment-label{font:var(--text-d-small-strong);text-transform:none}.af-comment-d .af-comment-input{min-height:76px;padding:var(--space-12) var(--space-14);border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--surface);font:var(--text-d-body)}.af-comment-d .af-comment-input:focus{outline:var(--focus-ring-width) solid transparent;border-color:var(--brand)}.af-skeleton-body{display:contents}.af-skeleton-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.af-skeleton-block{display:block;background:var(--line);border-radius:var(--radius-sm);animation:af-skeleton-pulse var(--motion-skeleton-pulse) ease-in-out infinite}.af-skeleton-block.is-text{width:100%;height:1em;margin-block:calc((1lh - 1em)/2)}.af-skeleton-block.is-circle{flex-shrink:0;border-radius:var(--radius-pill)}.af-skeleton-block.is-box{border-radius:var(--radius-md)}@keyframes af-skeleton-pulse{0%,to{opacity:1}50%{opacity:.6}}@media(prefers-reduced-motion:reduce){.af-skeleton-block{animation:none}}.af-table-wrap{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-xl);overflow-x:auto;position:relative;flex-shrink:0}.af-table-head,.af-table-row{display:grid;align-items:center;gap:var(--space-8);padding:0 var(--space-20)}.af-table-head{background:var(--surface-table-head);border-bottom:1px solid var(--line);font:var(--text-d-overline);text-transform:uppercase;color:var(--ink-subtle)}.af-table-head>div{padding:var(--space-14) 0}.af-table-row{background:var(--surface);border-bottom:1px solid var(--line);font:var(--text-d-body)}.af-table-row:last-child{border-bottom:0}.af-table-row>div{padding:var(--space-10) 0;min-width:0}.af-table .is-end{text-align:right}.af-table .is-center{text-align:center}.af-table-head .is-muted{color:var(--ink-disabled)}.af-table-row.is-missing{background:var(--warning-soft);border-left:3px solid var(--warning-accent);padding-left:17px}.af-table-row.is-inactive{background:var(--canvas);color:var(--ink-subtle)}.af-table-row.is-total{background:var(--surface-sunken);font:var(--text-d-small-strong)}.af-table-row.is-total>:first-child{font:var(--text-d-section-title);letter-spacing:var(--text-d-section-title-tracking);text-transform:uppercase;color:var(--ink-subtle)}.af-table-row.is-total>:last-child{font:var(--text-d-card-title)}.af-table-empty{padding:var(--space-20);font:var(--text-d-small);color:var(--ink-subtle)}.af-table-wrap.is-scroll .af-table-head>:first-child,.af-table-wrap.is-scroll .af-table-row>:first-child{position:sticky;left:0;margin-left:calc(-1 * var(--space-20));padding-left:var(--space-20);background:inherit}.af-table-wrap.is-cards .af-table-head{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.af-table-wrap.is-cards .af-table-row{display:block;padding:var(--space-10) var(--space-20)}.af-table-wrap.is-cards .af-table-row.is-missing{padding-left:17px}.af-table-wrap.is-cards .af-table-row>div{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-8);padding:var(--space-4) 0;text-align:right}.af-table-wrap.is-cards .af-table-row>:first-child{justify-content:flex-start;font:var(--text-d-body-strong);text-align:left}.af-table-label{flex:none;margin-right:auto;font:var(--text-d-overline);text-transform:uppercase;color:var(--ink-subtle);text-align:left}.af-table-skeleton-name{display:flex;align-items:center;gap:var(--space-10);width:100%}.af-table .is-end .af-skeleton-block,.af-table .is-center .af-skeleton-block{margin-left:auto}.af-table .is-center .af-skeleton-block{margin-right:auto}.af-datenav{position:relative;box-sizing:border-box;display:inline-flex;height:var(--control-height);border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--surface)}.af-datenav-arrow{position:relative;width:var(--touch-target);display:flex;align-items:center;justify-content:center;color:var(--ink-muted);background:none;border:0;cursor:pointer}.af-datenav-arrow[aria-disabled=true]{color:var(--ink-disabled);cursor:default}.af-datenav-arrow:focus-visible{outline:var(--focus-ring-width) solid var(--brand);outline-offset:var(--focus-offset-inset)}.af-datenav-arrow:first-child{border-right:1px solid var(--line);border-top-left-radius:var(--radius-md);border-bottom-left-radius:var(--radius-md)}.af-datenav-arrow:last-child{border-top-right-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md)}.af-datenav-label+.af-datenav-arrow{border-left:1px solid var(--line)}.af-datenav-label{box-sizing:border-box;width:168px;position:relative;padding:0 var(--space-12);display:flex;align-items:center;justify-content:center;white-space:nowrap;border:0;background:none;color:var(--ink);font:var(--text-d-body-strong)}button.af-datenav-label{cursor:pointer}.af-datenav-arrow:after,button.af-datenav-label:after{content:"";position:absolute;left:0;right:0;top:50%;height:var(--touch-target);transform:translateY(-50%)}.af-datenav-label.is-open{background:var(--brand-soft);color:var(--brand-text)}.af-datenav-label.is-open .af-datenav-detail{color:var(--brand-text)}.af-datenav-label:focus-visible{outline:var(--focus-ring-width) solid var(--brand);outline-offset:var(--focus-offset-inset)}.af-datenav-detail{font:var(--text-d-caption-medium);color:var(--ink-subtle)}.af-datenav-popover{position:absolute;top:100%;right:0;z-index:var(--z-popover);width:360px;max-width:calc(100vw - 2 * var(--space-16));margin-top:var(--space-6);padding:var(--space-10);box-sizing:border-box;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-float)}@media(max-width:800px){.af-datenav-popover{right:auto;left:0}}@media(hover:hover){button.af-datenav-label:hover,.af-datenav-arrow:not([aria-disabled=true]):hover{background:var(--brand-soft);color:var(--brand-text)}button.af-datenav-label:hover .af-datenav-detail{color:var(--brand-text)}}.af-badge{display:inline-flex;align-items:center;white-space:nowrap;flex:none;padding:5px 11px;border-radius:var(--radius-sm);font:var(--text-d-small-strong)}.af-badge-sm{padding:3px 9px;font:var(--text-d-caption)}.af-badge-pill{border-radius:var(--radius-pill);padding:5px 10px;font:var(--text-d-caption)}.af-badge-success{background:var(--success-soft);color:var(--success)}.af-badge-neutral{background:var(--neutral-soft);color:var(--ink-subtle)}.af-badge-warning{background:var(--warning-soft);color:var(--warning)}.af-badge-danger{background:var(--danger-soft);color:var(--danger)}.af-badge-brand{background:var(--brand-soft);color:var(--brand-text)}.af-badge-night{background:var(--night);color:var(--surface)}.af-badge:has(.af-icon){gap:var(--space-6)}.af-badge-opens{padding:4px 10px;border:1px solid var(--line-strong);cursor:pointer}.af-badge-opens.af-badge-success{border-color:var(--success-subtle)}.af-badge-opens.af-badge-warning{border-color:var(--warning-subtle)}.af-badge-opens.af-badge-danger{border-color:var(--danger-subtle)}.af-badge-opens.af-badge-brand{border-color:var(--brand-line)}@media(hover:hover){.af-badge-opens:hover{border-color:currentColor}}.af-dayrow{display:flex;align-items:center;gap:var(--space-12);width:100%;min-height:var(--touch-target-input);padding:var(--space-14) var(--space-16);box-sizing:border-box;border:0;border-bottom:1px solid var(--line);background:var(--surface);color:var(--ink);text-align:left}.af-dayrow-button{cursor:pointer}.af-dayrow-button:focus-visible{outline:var(--focus-ring-width) solid var(--brand);outline-offset:var(--focus-offset-inset)}.af-dayrow-dot{width:8px;height:8px;flex:none;border-radius:var(--radius-pill)}.af-dayrow-label{flex:1;font:var(--text-m-body-strong)}.af-dayrow-off{background:var(--canvas)}.af-dayrow-off .af-dayrow-label{font:var(--text-m-body-medium);color:var(--ink-subtle)}.af-dayrow-quiet{font:var(--text-d-caption-medium);color:var(--ink-subtle)}.af-donut{display:flex;align-items:center;gap:var(--space-20)}.af-donut-ring{position:relative;width:112px;height:112px;flex:none;border-radius:var(--radius-pill)}.af-donut-hole{position:absolute;top:13px;right:13px;bottom:13px;left:13px;border-radius:var(--radius-pill);background:var(--surface);display:flex;flex-direction:column;align-items:center;justify-content:center}.af-donut-total{font:var(--text-d-card-title)}.af-donut-caption{font:var(--text-d-overline);color:var(--ink-subtle)}.af-donut-legend{flex:1;min-width:0;margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:var(--space-10)}.af-donut-item{display:flex;align-items:center;gap:var(--space-10)}.af-donut-dot{width:10px;height:10px;flex:none;border-radius:var(--radius-pill)}.af-donut-name{flex:1;min-width:0;font:var(--text-d-body-strong)}.af-donut-value{font:var(--text-d-body-strong);color:var(--ink-muted)}.af-donut-pct{width:40px;text-align:right;font:var(--text-d-small-strong);color:var(--ink-subtle)}.af-drawer-scrim{position:absolute;top:0;right:0;bottom:0;left:0;z-index:var(--z-drawer-scrim);background:var(--surface);opacity:.55}.af-drawer{position:absolute;top:0;right:0;bottom:0;z-index:var(--z-drawer);max-width:100%;display:flex;flex-direction:column;background:var(--surface);border-left:1px solid var(--line-strong);box-shadow:var(--shadow-drawer)}.af-drawer:focus{outline-style:none}.af-drawer-head{display:flex;align-items:flex-start;gap:var(--space-12);padding:var(--space-22) var(--space-26);border-bottom:1px solid var(--line)}.af-drawer-leading{align-self:center;display:flex}.af-drawer-titles{flex:1;min-width:0}.af-drawer-title-line{display:flex;align-items:flex-start;gap:var(--space-4)}.af-drawer-title{margin:0;padding-block:calc((var(--touch-target) - 1lh) / 2);min-width:0;font:var(--text-d-drawer-title);letter-spacing:var(--text-d-drawer-title-tracking)}.af-drawer-subtitle{margin:var(--space-4) 0 0;font:var(--text-d-small);color:var(--ink-subtle)}.af-drawer-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-8) var(--space-10);margin-top:var(--space-8)}.af-drawer-icon-button{width:var(--touch-target);height:var(--touch-target);flex:none;display:flex;align-items:center;justify-content:center;border:0;border-radius:var(--radius-md);background:none;color:var(--ink-subtle);cursor:pointer}.af-drawer-icon-button:focus-visible{outline:var(--focus-ring-width) solid var(--brand);outline-offset:var(--focus-offset)}.af-drawer-body{flex:1;overflow-y:auto;padding:var(--space-20) var(--space-26);display:flex;flex-direction:column;gap:var(--space-18)}.af-drawer-section:not(:first-child){margin-top:calc(var(--space-40) - var(--space-18))}.af-drawer-foot{display:flex;gap:var(--space-10);padding:var(--space-16) var(--space-26);border-top:1px solid var(--line)}.af-drawer-foot>*{flex:1}.af-drawer-foot .af-btn{height:var(--drawer-action-height);font:var(--text-d-drawer-action)}@media(hover:hover){.af-drawer-icon-button:hover{background:var(--brand-soft);color:var(--brand-text)}}.af-empty{margin:0;font:var(--text-d-small);color:var(--ink-subtle);text-wrap:pretty}.af-empty-illustrated{display:flex;flex-direction:column;align-items:center;gap:var(--space-12);text-align:center}.af-empty-art{width:var(--illustration-width);max-width:100%;height:auto}.af-empty-art-soft{fill:var(--brand-soft)}.af-empty-art-line{fill:var(--brand-line)}.af-empty-art-brand{fill:var(--brand)}.af-empty-art-strong{fill:var(--brand-text)}.af-empty-art-lattice,.af-empty-art-cable,.af-empty-art-ground{fill:none;stroke-linecap:round}.af-empty-art-lattice{stroke:var(--brand-soft)}.af-empty-art-cable{stroke:var(--ink-subtle)}.af-empty-art-ground{stroke:var(--line-strong)}.af-roundbtn{flex:none;display:flex;align-items:center;justify-content:center;padding:0;border:0;border-radius:var(--radius-pill);background:var(--scrim);color:var(--surface);cursor:pointer}.af-roundbtn:focus-visible{outline:var(--focus-ring-width) solid var(--surface);outline-offset:var(--focus-offset)}@media(hover:hover){.af-roundbtn:hover{background:var(--ink)}}.af-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-lightbox)}.af-lightbox-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--ink);opacity:.86}.af-lightbox-content{position:relative;height:100%;display:flex;flex-direction:column;color:var(--surface)}.af-lightbox-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-12);padding:var(--space-16) var(--space-22)}.af-lightbox-title{font:var(--text-d-card-title)}.af-lightbox-count{font:var(--text-d-small);opacity:.7}.af-lightbox-body{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;gap:var(--space-16);padding:0 var(--space-16) var(--space-22)}.af-lightbox-gap{width:46px;flex:none}.af-lightbox-img{max-width:960px;max-height:70vh;min-width:0;object-fit:contain;border-radius:var(--radius-lg)}.af-logo{display:inline-flex;align-items:flex-end}.af-logo svg{display:block}.af-logo-ink{fill:var(--brand)}.af-logo-light .af-logo-ink{fill:var(--surface)}.af-loader{display:flex;flex-direction:column;align-items:center;gap:var(--space-16)}.af-loader-bricks rect{fill:var(--brand);animation:af-loader-pulse var(--motion-loader-cycle) ease-in-out infinite backwards}.af-loader-bricks rect:nth-child(2){animation-delay:calc(var(--motion-loader-cycle) / 6)}.af-loader-bricks rect:nth-child(3){animation-delay:calc(var(--motion-loader-cycle) / 6 * 2)}.af-loader-bricks rect:nth-child(4){animation-delay:calc(var(--motion-loader-cycle) / 6 * 3)}.af-loader-bricks rect:nth-child(5){animation-delay:calc(var(--motion-loader-cycle) / 6 * 4)}.af-loader-bricks rect:nth-child(6){animation-delay:calc(var(--motion-loader-cycle) / 6 * 5)}.af-loader-label{margin:0;color:var(--ink-muted);text-align:center}@keyframes af-loader-pulse{0%,to{opacity:.25}50%{opacity:1}}@media(prefers-reduced-motion:reduce){.af-loader-bricks rect{animation:none}}.af-nav{display:flex;align-items:center;gap:var(--space-12);width:100%;height:var(--touch-target);border-radius:var(--radius-md);padding:0 var(--space-14);font:var(--text-d-nav);color:var(--ink-muted);background:none;border:0;cursor:pointer;text-align:left}@media(hover:hover){.af-nav:not(.is-active):hover{background:var(--surface-sunken);color:var(--ink)}}.af-nav:focus-visible{outline:var(--focus-ring-width) solid var(--brand);outline-offset:var(--focus-offset)}.af-nav.is-active{background:var(--brand-soft);color:var(--brand-text)}.af-nav-group{padding:var(--space-16) var(--space-14) var(--space-6);font:var(--text-d-nav-group);letter-spacing:var(--text-d-nav-group-tracking);text-transform:uppercase;color:var(--ink-disabled)}.af-tile{position:relative;box-sizing:border-box;flex:1;height:96px;border-radius:var(--radius-lg);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-8);cursor:pointer;border:2px solid var(--line-strong);background:var(--surface);color:var(--ink-muted)}.af-tile:has(.af-radio-input:focus-visible){outline:var(--focus-ring-width) solid var(--brand);outline-offset:var(--focus-offset)}.af-tile-label{font:var(--text-m-section);text-align:center}.af-tile.is-selected{border-color:var(--brand);background:var(--brand-soft);color:var(--brand-text)}.af-phead{display:flex;align-items:center;justify-content:space-between;gap:var(--space-16);flex-wrap:wrap;box-sizing:border-box;min-height:var(--shell-head-height);padding:var(--space-20) var(--space-26);background:var(--surface);border-bottom:1px solid var(--line)}.af-phead-title{margin:0;font:var(--text-d-title)}.af-phead-subtitle{margin:var(--space-4) 0 0;font:var(--text-d-small);color:var(--ink-subtle)}.af-phead-subtitle.is-loading{display:flow-root}.af-phead-subtitle-size{display:block;height:0;overflow:hidden;visibility:hidden}.af-phead-actions{display:flex;align-items:center;gap:var(--space-10);flex-wrap:wrap}.af-photocard{position:relative;height:210px;border-radius:var(--radius-xl);overflow:hidden;background:var(--neutral-soft)}.af-photocard-img{display:block;width:100%;height:100%;object-fit:cover}.af-photocard-open{display:block;width:100%;height:100%;padding:0;border:0;background:none;cursor:pointer}.af-photocard-open:focus-visible{outline:var(--focus-ring-width) solid var(--brand);outline-offset:var(--focus-offset-inset)}.af-photocard-delete{position:absolute;top:var(--space-10);right:var(--space-10)}.af-cropper{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-dialog);display:flex;align-items:center;justify-content:center;padding:var(--space-16)}.af-cropper-scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--surface);opacity:.55}.af-cropper-panel{position:relative;box-sizing:border-box;width:100%;max-width:440px;max-height:100%;overflow-y:auto;padding:var(--space-22);border:1px solid var(--line-strong);border-radius:var(--radius-xl);background:var(--surface);box-shadow:var(--shadow-float)}.af-cropper-panel:focus{outline-style:none}.af-cropper-title{margin:0;font:var(--text-d-card-title)}.af-cropper-hint{margin:var(--space-8) 0 0;font:var(--text-d-body);color:var(--ink-muted);text-wrap:pretty}.af-cropper-stage{display:flex;justify-content:center;margin-top:var(--space-16)}.af-cropper-viewport{position:relative;width:100%;max-width:320px;aspect-ratio:1;overflow:hidden;border-radius:var(--radius-lg);background:var(--surface);cursor:grab;touch-action:none}.af-cropper-viewport:focus-visible{outline:var(--focus-ring-width) solid var(--brand);outline-offset:var(--focus-offset)}.af-cropper-canvas{display:block;width:100%;height:100%}.af-cropper-mask{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:var(--surface);opacity:.6;mask:radial-gradient(circle closest-side,transparent calc(100% - 1px),var(--ink) 100%)}.af-cropper-tools{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-6);margin-top:var(--space-14)}.af-cropper-tools .af-btn{min-width:var(--touch-target);min-height:var(--touch-target);padding-inline:0}.af-cropper-actions{display:flex;justify-content:flex-end;gap:var(--space-10);margin-top:var(--space-16)}.af-photopicker{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-16)}.af-photopicker-actions{display:flex;flex-wrap:wrap;gap:var(--space-10)}.af-progress{display:flex;flex-direction:column;gap:var(--space-12)}.af-progress-row{display:flex;align-items:center;gap:var(--space-14)}.af-progress-btn{width:var(--touch-target);height:var(--touch-target);flex:none;display:flex;align-items:center;justify-content:center;border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--surface);color:var(--ink);cursor:pointer}.af-progress-btn:focus-visible{outline:var(--focus-ring-width) solid var(--brand);outline-offset:var(--focus-offset)}.af-progress-btn:disabled{background:var(--neutral-soft);color:var(--ink-subtle);cursor:not-allowed}.af-progress-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--space-8)}.af-progress-value{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-10)}.af-progress-number{font:var(--text-m-day)}.af-progress-caption{font:var(--text-d-caption);color:var(--ink-subtle);text-align:right}.af-progress-track{height:8px;border-radius:var(--radius-pill);background:var(--neutral-soft);overflow:hidden}.af-progress-fill{height:100%;background:var(--brand)}.af-progress-fill.is-dirty{background:var(--brand-line)}.af-progress-note{display:flex;align-items:center;gap:var(--space-8);padding:var(--space-12) var(--space-14);border-radius:var(--radius-md);background:var(--neutral-soft);color:var(--ink-muted);font:var(--text-d-small-strong)}.af-progress-note.is-warning{background:var(--warning-soft);color:var(--warning)}@media(hover:hover){.af-progress-btn:enabled:hover{border-color:var(--brand);color:var(--brand-text)}}.af-recap{background:var(--surface-sunken);border-radius:var(--radius-xl);padding:var(--space-20);display:flex;flex-direction:column;gap:var(--space-14)}.af-recap-rows{margin:0;display:flex;flex-direction:column}.af-recap-row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-12);padding:var(--space-12) 0;border-bottom:1px solid var(--line)}.af-recap-row:last-child{border-bottom:0}.af-recap-label{font:var(--text-m-body-medium);color:var(--ink-muted)}.af-recap-value{margin:0;text-align:right;font:var(--text-m-body-strong)}.af-recap-value.is-success{color:var(--success)}.af-shead{display:flex;align-items:center;gap:var(--space-12);background:var(--surface);border-bottom:1px solid var(--line);padding:var(--space-10) var(--space-22)}.af-shead:first-child{border-top:env(safe-area-inset-top,0px) solid transparent}.af-shead-logo{justify-content:space-between}.af-shead-company{font:var(--text-d-caption);color:var(--ink-subtle)}.af-shead-title-variant{justify-content:space-between;padding-top:var(--space-16);padding-bottom:var(--space-16)}.af-shead-overline{font:var(--text-d-caption);text-transform:uppercase;color:var(--ink-subtle)}.af-shead-title{margin:0;font:var(--text-m-day)}.af-shead-backbtn{width:var(--touch-target);height:var(--touch-target);flex:none;display:flex;align-items:center;justify-content:center;border:0;border-radius:var(--radius-md);background:var(--canvas);color:var(--ink);cursor:pointer}.af-shead-backbtn:focus-visible{outline:var(--focus-ring-width) solid var(--brand);outline-offset:var(--focus-offset)}.af-scard{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-xl);padding:var(--space-18);display:flex;flex-direction:column;gap:var(--space-12)}.af-scard-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-12)}.af-scard-label{font:var(--text-m-section);text-transform:uppercase;color:var(--ink-subtle)}.af-pagination{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-12)}.af-pagination-status{font:var(--text-d-small);color:var(--ink-subtle)}.af-seg{display:flex;gap:var(--space-4);padding:var(--space-4);border-radius:var(--radius-md);background:var(--canvas)}.af-seg-item{position:relative;display:flex;align-items:center;justify-content:center;box-sizing:border-box;flex:1;height:38px;border:1px solid transparent;border-radius:var(--radius-sm);background:none;color:var(--ink-muted);font:var(--text-d-nav);cursor:pointer}.af-seg-item:has(.af-radio-input:focus-visible){outline:var(--focus-ring-width) solid var(--brand);outline-offset:var(--focus-offset-tight)}.af-seg-item.is-selected{background:var(--surface);border-color:var(--line);color:var(--ink);font:var(--text-d-nav-strong)}.af-seg-field{display:flex;flex-direction:column;gap:7px}.af-seg-label{color:var(--ink-muted);font:var(--text-d-small-strong)}.af-seg-hint{margin:0;color:var(--ink-subtle);font:var(--text-d-caption-regular)}.af-seg-item.is-disabled{cursor:default}.af-seg-item.is-disabled:not(.is-selected){opacity:.5}.af-seg--buttons{gap:var(--space-8);padding:0;border-radius:0;background:none}.af-seg--buttons .af-seg-item{height:var(--control-height);border-color:var(--line-strong);border-radius:var(--radius-md)}.af-seg--buttons .af-seg-item.is-selected{border-width:1.5px;border-color:var(--brand);background:var(--brand-soft);color:var(--brand-text)}.af-seg-item--icon,.af-seg--buttons .af-seg-item--icon{flex-direction:column;gap:var(--space-4);height:auto;padding:var(--space-8) var(--space-4)}@media(hover:hover){.af-seg-item:not(.is-selected,:has(.af-radio-input:disabled)):hover{color:var(--brand-text)}.af-seg--buttons .af-seg-item:not(.is-selected,:has(.af-radio-input:disabled)):hover{border-color:var(--brand)}}.af-field{display:flex;flex-direction:column;gap:7px}.af-field-label{font:var(--text-m-field-label);color:var(--ink-muted);text-transform:uppercase}.af-field-input{height:66px;border-radius:var(--radius-lg);border:2px solid var(--line-strong);background:var(--surface);color:var(--ink);padding:0 var(--space-18);font:var(--text-m-field);box-sizing:border-box}.af-field-input::placeholder{color:var(--ink-disabled)}.af-field.is-error .af-field-input{border-color:var(--danger);background:var(--danger-soft)}.af-field-input:focus,.af-field.is-error .af-field-input:focus{outline:var(--focus-ring-width) solid transparent;border-color:var(--brand)}.af-field-error{display:flex;gap:var(--space-10);align-items:flex-start;color:var(--danger);font:var(--text-m-error)}.af-field-d .af-field-label{font:var(--text-d-small-strong);text-transform:none}.af-field-d.af-field-label-large .af-field-label{font:var(--text-d-field-label-large);color:var(--ink)}.af-field-hint{font:var(--text-d-caption-regular);color:var(--ink-subtle)}.af-field-d .af-field-input{height:46px;border-width:1px;border-radius:var(--radius-md);padding:0 var(--space-14);font:var(--text-d-field)}.af-field-box{position:relative;display:flex;flex-direction:column}.af-field-suffix{position:absolute;right:var(--space-14);top:50%;transform:translateY(-50%);font:var(--text-d-small);color:var(--ink-subtle);pointer-events:none}.af-field-input:read-only{background:var(--surface-sunken);color:var(--ink-muted)}.af-field-reveal{position:absolute;right:var(--focus-ring-width);top:var(--focus-ring-width);bottom:var(--focus-ring-width);display:flex;align-items:center;justify-content:center;min-width:var(--touch-target);padding:0;border:0;border-radius:var(--radius-md);background:transparent;color:var(--ink-muted);cursor:pointer}.af-field-reveal:focus-visible{outline:var(--focus-ring-width) solid var(--brand);outline-offset:var(--focus-offset-tight)}.af-field-box:has(.af-field-reveal) .af-field-input{padding-right:var(--touch-target)}@media(hover:hover){.af-field-reveal:hover{background:var(--brand-soft);color:var(--brand-text)}}.af-combobox{display:flex;flex-direction:column}.af-combobox-popover{position:fixed;top:0;left:0;z-index:var(--z-popover);max-height:calc(100dvh - 2 * var(--space-8));overflow-y:auto;padding:var(--space-6);box-sizing:border-box;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-float)}.af-combobox-list{display:flex;flex-direction:column;margin:0;padding:0;list-style:none}.af-combobox-option{display:flex;flex-direction:column;justify-content:center;min-height:var(--touch-target);padding:var(--space-10);box-sizing:border-box;border-radius:var(--radius-md);cursor:pointer}.af-combobox-label{font:var(--text-d-body);color:var(--ink)}.af-combobox-detail{font:var(--text-d-caption-regular);color:var(--ink-subtle)}.af-combobox-option[aria-selected=true]{background:var(--brand-soft)}.af-combobox-option[aria-selected=true] .af-combobox-label{color:var(--brand-text-strong)}@media(hover:hover){.af-combobox-option:hover{background:var(--brand-soft)}.af-combobox-option:hover .af-combobox-label{color:var(--brand-text-strong)}}.af-combobox-footer{padding:var(--space-6) var(--space-10) var(--space-4);font:var(--text-d-caption-regular);color:var(--ink-subtle);text-align:right}.af-select{position:relative;display:flex}.af-select-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:46px;border-radius:var(--radius-md);border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);padding:0 var(--space-40) 0 var(--space-14);font:var(--text-d-field);cursor:pointer}.af-select-input:focus-visible{outline:var(--focus-ring-width) solid transparent;border-color:var(--brand)}.af-select-icon{position:absolute;right:var(--space-10);top:50%;transform:translateY(-50%);color:var(--ink-subtle);pointer-events:none}.af-select-menu-trigger{text-align:left}.af-select-menu-trigger.is-open{border-color:var(--brand)}.af-select-menu-values{display:grid}.af-select-menu-values>*{grid-area:1 / 1;white-space:nowrap}.af-select-menu-spacer{visibility:hidden}.af-select-menu-popover{position:fixed;top:0;left:0;z-index:var(--z-popover);max-width:calc(100vw - 2 * var(--space-8));max-height:calc(100dvh - 2 * var(--space-8));overflow-y:auto;padding:var(--space-6);box-sizing:border-box;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-float);display:flex;flex-direction:column}.af-select-menu-option{position:relative;display:flex;align-items:center;justify-content:space-between;gap:var(--space-10);padding:var(--space-10);border-radius:var(--radius-md);font:var(--text-d-body);color:var(--ink);cursor:pointer}.af-select-menu-option.is-selected{font:var(--text-d-body-strong);color:var(--brand-text)}.af-select-menu-option:has(.af-radio-input:focus-visible){outline:var(--focus-ring-width) solid var(--brand);outline-offset:var(--focus-offset-inset)}@media(hover:hover){.af-select-menu-trigger:not(.is-open):hover{border-color:var(--brand)}.af-select-menu-option:hover{background:var(--brand-soft);color:var(--brand-text-strong)}}.af-sidebar{width:236px;min-height:100%;display:flex;flex-direction:column;box-sizing:border-box;background:var(--surface);border-right:1px solid var(--line)}.af-sidebar-head{box-sizing:border-box;min-height:var(--shell-head-height);display:flex;align-items:center;padding:var(--space-16) calc(var(--space-16) + var(--space-14));border-bottom:1px solid var(--line)}.af-sidebar-logo{display:flex;align-items:center}.af-sidebar-logo-link{display:block;border:0;border-radius:var(--radius-md);background:none;cursor:pointer;text-align:left}.af-sidebar-logo-link:focus-visible{outline:var(--focus-ring-width) solid var(--brand);outline-offset:var(--focus-offset)}.af-sidebar-nav{flex:1;display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-16)}.af-sidebar-foot{padding:var(--space-16);border-top:1px solid var(--line)}.af-sidebar-account{box-sizing:border-box;width:100%;display:flex;align-items:center;gap:var(--space-10);padding:var(--space-10);border:0;border-radius:var(--radius-md);background:none;cursor:pointer;text-align:left}@media(hover:hover){.af-sidebar-light .af-sidebar-account:not(.is-active):hover{background:var(--surface-sunken)}}.af-sidebar-account:focus-visible{outline:var(--focus-ring-width) solid var(--brand);outline-offset:var(--focus-offset)}.af-sidebar-account.is-active{background:var(--brand-soft);color:var(--brand-text)}.af-sidebar-who{display:flex;flex-direction:column;min-width:0}.af-sidebar-name,.af-sidebar-company{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.af-sidebar-name{font:var(--text-d-body-strong)}.af-sidebar-company{font:var(--text-d-caption-regular);color:var(--ink-subtle)}.af-sidebar-tag{margin-left:var(--space-10);padding:var(--space-4) var(--space-8);border-radius:var(--radius-sm);background:var(--brand-soft);color:var(--brand-text);font:var(--text-d-caption)}.af-sidebar-dark{background:var(--night);border-right-color:var(--night)}.af-sidebar-dark .af-sidebar-head{padding-inline:var(--space-22);border-bottom-color:var(--night-raised)}.af-sidebar-dark .af-sidebar-foot{border-top-color:var(--night-raised)}.af-sidebar-dark .af-nav{color:var(--on-night-muted)}@media(hover:hover){.af-sidebar-dark .af-nav:not(.is-active):hover{background:var(--night-raised);color:var(--surface)}}.af-sidebar-dark .af-nav.is-active{background:var(--brand);color:var(--surface)}.af-sidebar-dark .af-nav-group{color:var(--on-night-muted)}.af-sidebar-dark .af-sidebar-account{color:var(--surface)}@media(hover:hover){.af-sidebar-dark .af-sidebar-account:hover{background:var(--night-raised)}}.af-sidebar-dark .af-sidebar-account.is-active{background:var(--brand);color:var(--surface)}.af-sidebar-dark .af-sidebar-company{color:var(--on-night-muted)}.af-stat{flex:1;min-width:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--space-16) var(--space-18);display:flex;flex-direction:column;gap:var(--space-8);box-sizing:border-box;justify-content:center}.af-stat-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-12)}.af-stat-label{font:var(--text-d-small-strong);color:var(--ink-muted);line-height:1.35}.af-stat-value{font:var(--text-d-stat)}.af-stat-note{display:flex;align-items:center;gap:7px;font:var(--text-d-caption-medium)}.af-stat-warning{background:var(--warning-soft);border-color:var(--warning);color:var(--warning)}.af-stat-warning .af-stat-label{color:var(--warning)}.af-stat-success{background:var(--success-soft);border-color:var(--success);color:var(--success);flex-direction:row;align-items:center;gap:var(--space-10)}.af-stat-success .af-stat-label{color:var(--success)}.af-tabbar{display:flex;border-top:1px solid var(--line);background:var(--surface);border-bottom:env(safe-area-inset-bottom,0px) solid transparent}.af-tab{flex:1;min-height:var(--touch-target);display:flex;flex-direction:column;align-items:center;gap:3px;padding:9px 0 10px;background:none;border:0;cursor:pointer;color:var(--ink-subtle);font:var(--text-m-tab)}.af-tab:focus-visible{outline:var(--focus-ring-width) solid var(--brand);outline-offset:var(--focus-offset-inset)}.af-tab.is-active{color:var(--brand-text)}.af-time{display:flex;flex-direction:column;gap:7px}.af-time-label{font:var(--text-d-small-strong);color:var(--ink-muted)}.af-time-trigger{height:46px;border-radius:var(--radius-md);border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);padding:0 var(--space-14);font:var(--text-d-field);text-align:left;cursor:pointer}.af-time-trigger.is-empty{color:var(--ink-disabled)}.af-time-trigger.is-open{border-color:var(--brand);background:var(--brand-soft);color:var(--brand-text)}.af-time-trigger:focus-visible{outline:var(--focus-ring-width) solid transparent;border-color:var(--brand)}.af-time-cell:has(.af-radio-input:focus-visible),.af-time-ok:focus-visible{outline:var(--focus-ring-width) solid var(--brand);outline-offset:var(--focus-offset)}.af-time-popover{position:fixed;top:0;left:0;z-index:var(--z-popover);width:min(282px,100vw - 2 * var(--space-8));max-height:calc(100dvh - 2 * var(--space-8));overflow-y:auto;padding:var(--space-14);box-sizing:border-box;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-float);display:flex;flex-direction:column;gap:var(--space-8)}.af-time-section{font:var(--text-d-overline);text-transform:uppercase;color:var(--ink-subtle)}.af-time-hours{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--space-4)}.af-time-minutes{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-4)}.af-time-cell{position:relative;display:flex;align-items:center;justify-content:center;box-sizing:border-box;height:34px;border:0;border-radius:var(--radius-sm);background:var(--canvas);color:var(--ink);font:var(--text-d-body);cursor:pointer}.af-time-minute{height:38px}@media(hover:hover){.af-time-cell:hover:not(.is-selected,:has(.af-radio-input:disabled)){background:var(--brand-soft);color:var(--brand-text-strong)}}.af-time-cell:has(.af-radio-input:disabled){color:var(--ink-disabled);cursor:default}.af-time-cell .af-radio-input:disabled{cursor:default}.af-time-cell.is-selected{background:var(--brand);color:var(--surface);font:var(--text-d-body-strong)}.af-time-ok{height:40px;border:0;border-radius:var(--radius-md);background:var(--brand);color:var(--surface);font:var(--text-d-body-strong);cursor:pointer}.af-time-ok:disabled{background:var(--neutral-soft);color:var(--ink-subtle);cursor:not-allowed}@media(hover:hover){.af-time-trigger:not(.is-open,:disabled):hover{border-color:var(--brand)}.af-time-ok:enabled:hover{background:var(--brand-text)}}.af-stepper{border-radius:var(--radius-lg);background:var(--canvas);padding:var(--space-12) var(--space-14);display:flex;align-items:center;justify-content:space-between;gap:var(--space-10)}.af-stepper-label{font:var(--text-m-body-strong);color:var(--ink-muted)}.af-stepper-ctrl{display:flex;align-items:center;gap:var(--space-10)}.af-stepper-btn{width:var(--touch-target-input);height:var(--touch-target-input);flex:none;border-radius:var(--radius-md);background:var(--surface);color:var(--ink);border:1px solid var(--line-strong);display:flex;align-items:center;justify-content:center;cursor:pointer}.af-stepper-btn:disabled{background:var(--neutral-soft);color:var(--ink-subtle);border-color:var(--line-strong);cursor:not-allowed}.af-stepper-btn:focus-visible{outline:var(--focus-ring-width) solid var(--brand);outline-offset:var(--focus-offset)}.af-stepper-val{min-width:86px;text-align:center;font:var(--text-m-time);color:var(--ink)}.af-stepper-val.is-empty{color:var(--ink-disabled)}.af-toast{width:fit-content;margin-inline:auto;background:var(--ink);color:var(--surface);border-radius:var(--radius-md);padding:var(--space-14) var(--space-20);font:var(--text-d-body-medium);box-shadow:var(--shadow-float)}.af-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-12);padding:var(--space-12) var(--space-14);border-radius:var(--radius-md);background:var(--surface-sunken)}.af-toggle-label{font:var(--text-d-body-strong)}.af-toggle-hint{font:var(--text-d-small);color:var(--ink-muted)}.af-toggle{position:relative;flex:none;width:46px;height:26px;border:0;border-radius:var(--radius-pill);background:var(--neutral-accent);cursor:pointer;padding:0}.af-toggle:focus-visible{outline:var(--focus-ring-width) solid var(--brand);outline-offset:var(--focus-offset)}.af-toggle:disabled{opacity:.5;cursor:default}.af-toggle.is-on{background:var(--brand)}.af-toggle-knob{position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:var(--radius-pill);background:var(--surface);transition:transform .15s}.af-toggle.is-on .af-toggle-knob{transform:translate(20px)}@media(hover:hover){.af-toggle:enabled:not(.is-on):hover{background:var(--ink-disabled)}.af-toggle.is-on:enabled:hover{background:var(--brand-text)}}.af-weekcell{display:flex;align-items:center;justify-content:center;width:100%;min-height:34px;padding:var(--space-8) var(--space-6);box-sizing:border-box;border:0;border-radius:var(--radius-sm);font:var(--text-d-small-medium)}button.af-weekcell{cursor:pointer}.af-weekcell:focus-visible{outline:var(--focus-ring-width) solid var(--brand);outline-offset:var(--focus-offset-tight)}.af-weekcell-done{background:var(--success-soft);color:var(--success)}.af-weekcell-awaiting{background:var(--brand-soft);color:var(--brand-text);font:var(--text-d-small-strong)}.af-weekcell-stack{display:flex;flex-direction:column;align-items:center}.af-weekcell-note{font:var(--text-d-caption)}.af-weekcell-missing{background:var(--warning-soft);color:var(--warning);font:var(--text-d-small-strong)}.af-weekcell-pending{background:var(--neutral-soft);color:var(--ink-subtle)}.af-weekcell-absent{background:var(--neutral-soft);color:var(--ink-subtle);font:var(--text-d-small-strong)}.af-weekcell-off{background:var(--surface-sunken);color:var(--ink-disabled)}@media(hover:hover){button.af-weekcell:not(:focus-visible):hover{outline:var(--focus-ring-width) solid var(--ink-subtle);outline-offset:var(--focus-offset-inset)}button.af-weekcell-done:not(:focus-visible):hover{outline-color:var(--success)}button.af-weekcell-missing:not(:focus-visible):hover{outline-color:var(--warning)}button.af-weekcell-awaiting:not(:focus-visible):hover{outline-color:var(--brand-text)}}.af-confirm{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-dialog);display:flex;align-items:center;justify-content:center;padding:var(--space-16)}.af-confirm-scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--surface);opacity:.55}.af-confirm-panel{position:relative;box-sizing:border-box;width:100%;max-width:440px;padding:var(--space-26);border:1px solid var(--line-strong);border-radius:var(--radius-xl);background:var(--surface);box-shadow:var(--shadow-float)}.af-confirm-panel:focus{outline-style:none}.af-confirm-title{margin:0;font:var(--text-d-card-title)}.af-confirm-body{margin-top:var(--space-8);font:var(--text-d-body);color:var(--ink-muted);text-wrap:pretty}.af-confirm-actions{display:flex;justify-content:flex-end;gap:var(--space-10);margin-top:var(--space-20)}.af-impersonation{position:sticky;top:0;z-index:var(--z-nav);display:flex;align-items:center;gap:var(--space-12);padding:var(--space-8) var(--space-16);background:var(--warning-soft);border-bottom:1px solid var(--warning);color:var(--warning);font:var(--text-d-small-strong)}.af-impersonation-text{flex:1;margin:0;text-wrap:pretty}.af-impersonation-quit{flex:none;min-height:var(--touch-target);padding:0 var(--space-14);border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--warning);color:inherit;font:inherit;cursor:pointer}.af-impersonation-quit:focus-visible{outline:var(--focus-ring-width) solid var(--brand);outline-offset:var(--focus-offset)}@media(hover:hover){.af-impersonation-quit:hover{background:var(--warning-soft)}}.af-kv{margin:0;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-xl);background:var(--surface)}.af-kv-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:var(--space-16);padding:var(--space-14) var(--space-20);border-top:1px solid var(--line)}.af-kv-row:first-child{border-top:0}.af-kv-label{font:var(--text-d-small);color:var(--ink-subtle)}.af-kv-value{margin:0;min-width:0;overflow-wrap:anywhere;font:var(--text-d-body)}@media(max-width:600px){.af-kv-row{grid-template-columns:minmax(0,1fr);gap:var(--space-4)}}.af-icon-list{display:flex;flex-direction:column;gap:var(--space-8);margin:0;padding:0;list-style:none;font:var(--text-d-body)}.af-icon-list-item{display:flex;align-items:flex-start;gap:var(--space-10)}.af-icon-list-icon{flex:none}.af-icon-list-label{font:var(--text-d-body-strong)}.af-tabs-list{display:flex;gap:var(--space-4);border-bottom:1px solid var(--line);overflow-x:auto}.af-tabs-tab{position:relative;box-sizing:border-box;flex:none;height:var(--touch-target);padding:0 var(--space-16);border:0;border-bottom:2px solid transparent;margin-bottom:-1px;background:none;color:var(--ink-muted);font:var(--text-d-body-strong);cursor:pointer}@media(hover:hover){.af-tabs-tab:hover{color:var(--brand-text)}}.af-tabs-tab.is-selected{border-bottom-color:var(--brand);color:var(--brand-text)}.af-tabs-tab:focus-visible{outline:var(--focus-ring-width) solid var(--brand);outline-offset:var(--focus-offset-inset)}.af-tabs-panel{padding-top:var(--space-20)}.list-toolbar{display:flex;align-items:flex-end;flex-wrap:wrap;gap:var(--space-16)}.list-toolbar-search{flex:1 1 240px}body{margin:0;background:var(--surface-page);color:var(--ink);font-family:var(--font-sans);font-variant-numeric:tabular-nums}.gate{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-14);padding:var(--space-26)}.gate-login{align-items:center;justify-content:center;min-height:100vh;box-sizing:border-box}.card{box-sizing:border-box;display:flex;flex-direction:column;gap:var(--space-16);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-xl)}.login-card{width:100%;max-width:var(--card-width);padding:var(--space-26)}.login-title{margin:0;font:var(--text-d-title)}.login-forgot{display:flex;justify-content:flex-end}.shell{display:flex;height:100vh}.impersonation-frame{display:flex;flex-direction:column;height:100vh}.impersonation-frame>.shell{flex:1;min-height:0;height:auto}.impersonation-frame .shell-nav>.af-sidebar{height:100%}.shell-nav{display:flex}.shell-nav>.af-sidebar{position:sticky;top:0;height:100vh;min-height:0}.shell-main{position:relative;flex:1;min-width:0;display:flex;flex-direction:column}.shell-content{position:relative;flex:1;min-height:0;overflow:hidden;background:var(--surface-page)}.shell-scroll{box-sizing:border-box;height:100%;overflow:auto;padding:var(--space-26)}.shell-not-found{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-14)}.shell-toast{position:fixed;top:var(--space-16);left:0;right:0;z-index:var(--z-toast);pointer-events:none}.shell-menu,.shell-scrim{display:none}@media(max-width:800px){.shell-nav{position:fixed;inset:0 auto 0 0;z-index:var(--z-nav);transform:translate(-100%);visibility:hidden;box-shadow:var(--shadow-drawer)}.shell-nav.is-open{transform:none;visibility:visible}.shell-nav>.af-sidebar{height:100%}.shell-scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-nav-scrim);background:var(--scrim)}.shell-menu{display:flex;align-items:center;justify-content:center;width:var(--touch-target);height:var(--touch-target);margin:var(--space-8) var(--space-12) 0;border:0;border-radius:var(--radius-md);background:none;color:var(--ink);cursor:pointer}.shell-menu:focus-visible{outline:var(--focus-ring-width) solid var(--brand);outline-offset:var(--focus-offset)}@media(hover:hover){.shell-menu:hover{background:var(--brand-soft);color:var(--brand-text)}}.shell-scroll{padding:var(--space-16)}}.shell-controls{display:contents}.job-sites{display:flex;flex-direction:column;gap:var(--space-14)}.job-sites-list{display:flex;flex-direction:column;gap:var(--space-14);margin:0;padding:0;list-style:none}.job-site-card{gap:0}.job-site-card.is-inactive{background:var(--canvas)}.job-site-card>:not(.job-site){margin:0 var(--space-18) var(--space-18)}.job-site{display:flex;flex-direction:column;gap:var(--space-14);width:100%;padding:var(--space-18);background:transparent;border:0;border-radius:var(--radius-xl);color:var(--ink);font:inherit;text-align:left;cursor:pointer}.job-site:focus-visible{outline:var(--focus-ring-width) solid var(--brand);outline-offset:var(--focus-offset)}@media(hover:hover){.job-site-card:has(>.job-site:hover){border-color:var(--brand)}}.job-site-card.is-selected{border-color:var(--brand);background:var(--brand-soft)}.job-site-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:var(--space-8) var(--space-16)}.job-site-text{display:flex;flex-direction:column;min-width:0}.job-site-name{margin:0;font:var(--text-d-card-title);overflow-wrap:break-word}.job-site-meta{margin-top:var(--space-4);font:var(--text-d-small);color:var(--ink-subtle)}.job-site-budget{display:flex;flex-direction:column}.job-site-risk{font:var(--text-d-small);color:var(--ink)}.job-site-note{display:flex;align-items:flex-start;gap:var(--space-8)}.job-site-note-icon{flex:none;color:var(--ink-disabled)}.job-site-note-text{min-width:0;font:var(--text-d-small);color:var(--ink-muted);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;overflow-wrap:anywhere}.job-site-card.is-inactive .job-site-name{color:var(--ink-subtle)}.job-site-card.is-selected .job-site-meta,.job-site-card.is-inactive.is-selected .job-site-name{color:var(--ink-muted)}.follow-up-start{font:var(--text-d-caption-medium);color:var(--ink-subtle)}.follow-up{display:flex;flex-direction:column;gap:var(--space-20)}.follow-up>.af-drawer-section:not(:first-child){margin-top:calc(var(--space-40) - var(--space-20))}.follow-up-block{display:flex;flex-direction:column;gap:var(--space-10)}.follow-up-title{margin:0;font:var(--text-d-section-title);letter-spacing:var(--text-d-section-title-tracking);text-transform:uppercase;color:var(--ink-subtle)}.follow-up-actions{display:grid;grid-template-columns:1fr 2fr;gap:var(--space-10)}.follow-up-estimate{padding:var(--space-16) var(--space-18);border-radius:var(--radius-xl);background:var(--neutral-soft);color:var(--ink-muted)}.follow-up-estimate.is-success{background:var(--success-soft);color:var(--success)}.follow-up-estimate.is-warning{background:var(--warning-soft);color:var(--warning)}.follow-up-estimate.is-danger{background:var(--danger-soft);color:var(--danger)}.follow-up-feed{display:flex;flex-direction:column;gap:var(--space-16);margin:0;padding:0;list-style:none}.job-site-form{display:flex;flex-direction:column;gap:var(--space-16)}.job-site-row{display:flex;gap:var(--space-14)}.job-site-row>*{flex:1;min-width:0}.job-site-budget-box{display:flex;flex-direction:column;gap:var(--space-14);padding:var(--space-16);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface-sunken)}.job-site-budget-title{font:var(--text-d-section-title);letter-spacing:var(--text-d-section-title-tracking);text-transform:uppercase;color:var(--ink-subtle)}.team{display:flex;flex-direction:column;gap:var(--space-14)}.team-badges{display:inline-flex;flex-wrap:wrap;gap:var(--space-8)}.team-form{display:flex;flex-direction:column;gap:var(--space-16)}.team-form-row{display:flex;gap:var(--space-14)}.team-form-row>*{flex:1;min-width:0}.status-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-12);padding:var(--space-12) var(--space-14);background:var(--surface-sunken);border-radius:var(--radius-md)}.status-row-title{font:var(--text-d-body-strong)}.status-row-hint{font:var(--text-d-small);color:var(--ink-muted)}.status-row>.af-btn{flex-shrink:0}.team-drawer .status-row{flex-wrap:wrap}.status-row-text{flex:1 1 240px;min-width:0}.team-drawer,.team-result{display:flex;flex-direction:column;gap:var(--space-18)}.team-office-email{padding-left:var(--space-14);border-left:2px solid var(--brand-line)}.team-password{display:flex;flex-direction:column;gap:7px}.team-password-label{color:var(--ink-muted);font:var(--text-d-small-strong)}.team-password-box{display:flex;align-items:center;justify-content:space-between;gap:var(--space-12);padding:var(--space-12) var(--space-14);background:var(--surface-sunken);border:1px solid var(--line);border-radius:var(--radius-md)}.team-password-box .temporary-password{font:var(--text-d-title);overflow-wrap:anywhere}.team-password-hint{margin:0;font:var(--text-d-small);color:var(--ink-muted)}.team-password-hint strong{color:var(--ink)}.account{display:flex;flex-direction:column;gap:var(--space-14)}.account-card{width:100%;max-width:480px;padding:var(--space-18)}.account-title{margin:0;font:var(--text-d-card-title)}.account-form{display:flex;flex-direction:column;gap:var(--space-16)}.account-row{display:flex;gap:var(--space-14)}.account-row>*{flex:1;min-width:0}.account-actions{display:flex;justify-content:flex-end;gap:var(--space-10)}.temporary-password{font:var(--text-d-body-strong);-webkit-user-select:all;user-select:all}.account-hint{margin:0;font:var(--text-d-small);color:var(--ink-subtle)}.company{display:flex;flex-direction:column;gap:var(--space-14)}.company-card{max-width:var(--card-width);padding:var(--space-22)}.company-card-title{margin:0;font:var(--text-d-card-title)}.company-field{display:flex;flex-direction:column;gap:var(--space-8)}.company-list{display:flex;flex-direction:column;gap:var(--space-16);margin:0}.company-list dd{margin:0}.company-field-label{font:var(--text-d-body-strong);color:var(--ink-muted)}.company-actions{display:flex;gap:var(--space-10)}.company-actions>*{flex:1}.company-hint{margin:0;font:var(--text-d-caption);color:var(--ink-subtle)}.day{display:flex;flex-direction:column;gap:var(--space-14)}.day-name{display:inline-flex;align-items:center;gap:var(--space-10);font:var(--text-d-body-strong)}.day-note-author{display:block;font:var(--text-d-small);color:var(--ink-subtle)}.day-photos{display:inline-flex;gap:var(--space-4)}.day-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-14)}.export{display:flex;flex-wrap:wrap;align-items:flex-start;gap:var(--space-22)}.export-card{padding:var(--space-22)}.export-period{flex:none;width:360px;max-width:100%}.export-card-title{margin:0;font:var(--text-d-card-title)}.export-preview{flex:1;min-width:min(var(--card-width),100%)}.export-preview-head{display:flex;flex-direction:column;gap:var(--space-4)}.export-summary{margin:0;font:var(--text-d-small);color:var(--ink-subtle)}.export-presets{display:flex;flex-wrap:wrap;gap:var(--space-8)}.export-missing{display:flex;flex-direction:column;gap:var(--space-8)}.export-missing-list{display:flex;flex-direction:column;gap:var(--space-4);margin:0;padding:0;list-style:none}.export-missing-day{box-sizing:border-box;width:100%;padding:var(--space-10) var(--space-14);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);color:var(--ink);font:var(--text-d-body);text-align:start;cursor:pointer}@media(hover:hover){.export-missing-day:hover{background:var(--surface-sunken)}}.export-missing-day:focus-visible{outline:var(--focus-ring-width) solid var(--brand);outline-offset:var(--focus-offset)}.export-download{display:flex;flex-direction:column;align-items:stretch;gap:var(--space-8)}.export-file-name{text-align:center;overflow-wrap:anywhere}.export-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:var(--space-14)}.day-slot{white-space:nowrap}.day-form{display:flex;flex-direction:column;gap:var(--space-16)}.day-trace{margin:0;color:var(--ink-muted);font:var(--text-d-small)}.day-reasons{display:flex;flex-wrap:wrap;gap:var(--space-8)}.day-slots{display:flex;flex-direction:column;gap:var(--space-12);align-items:flex-start}.day-slot-row{align-self:stretch;display:flex;flex-wrap:wrap;gap:var(--space-12);align-items:flex-end}.day-slot-row>.af-time{flex:1}.day-field{display:flex;flex-direction:column;gap:var(--space-8)}.day-error{flex-basis:100%;margin:0;color:var(--danger);font:var(--text-d-small)}.day-total{display:flex;align-items:center;justify-content:space-between;gap:var(--space-12);border-radius:var(--radius-md);background:var(--neutral-soft);color:var(--ink-subtle);padding:var(--space-14) var(--space-16);font:var(--text-d-small-strong)}.day-total strong{font:var(--text-d-stat)}.day-total.has-hours{background:var(--success-soft);color:var(--success)}.skeleton-small{font:var(--text-d-small)}.skeleton-job-site{box-sizing:border-box}.skeleton-budget{gap:var(--space-8)}.skeleton-bar{height:var(--bar-height)}.skeleton-value{flex:1}.skeleton-button{height:calc(var(--touch-target-input) + var(--space-8));border-radius:var(--radius-lg)}.skeleton-button-sm{width:25%;height:calc(1lh + 2 * var(--space-6));font:var(--text-d-body)}.skeleton-field{width:100%;height:calc(1lh + 2 * var(--space-12));font:var(--text-d-field)}.skeleton-grow{flex:1}.skeleton-label{font:var(--text-d-small-strong)}.skeleton-add{width:40%}.skeleton-tile{flex:1;height:calc(2lh + 2 * var(--space-12));font:var(--text-d-small)}.skeleton-stepper{height:var(--touch-target)}.skeleton-note{height:calc(1lh + 2 * var(--space-12));font:var(--text-d-small)}.skeleton-badge{width:30%;height:calc(1lh + 2 * var(--space-4));font:var(--text-d-small)}.skeleton-meta-line{flex-basis:100%;width:50%}.skeleton-estimate{height:calc(2lh + 2 * var(--space-16));font:var(--text-d-body);border-radius:var(--radius-xl)}.skeleton-donut{display:flex;align-items:center;gap:var(--space-20);font:var(--text-d-body)}.skeleton-donut-legend{display:flex;flex:1;flex-direction:column;gap:var(--space-8)}.skeleton-entry{display:flex;align-items:flex-start;gap:var(--space-10);font:var(--text-d-body)}.skeleton-entry-text{flex:1}
