.journal-page{width:100%;padding:var(--space-6);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);gap:0;display:grid}.journal-header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:calc(var(--space-4) + 2px);display:flex}.journal-header h1{font-size:var(--font-size-title-lg);font-weight:var(--font-weight-medium);letter-spacing:-.01em;margin:0;line-height:1.625rem}.journal-header-actions{gap:var(--space-2);flex:none;margin-top:-.3125rem;display:flex}.journal-body{gap:var(--space-5);grid-template-columns:236px minmax(0,1fr);align-items:start;display:grid}.journal-calendar{min-inline-size:0}.journal-calendar-nav{justify-content:space-between;align-items:center;margin-bottom:.625rem;display:flex}.journal-calendar-title{font-size:var(--font-size-label);font-weight:var(--font-weight-medium);color:var(--color-text);text-align:center;margin:0}.journal-calendar-nav-btn{border-radius:var(--radius-sm);block-size:1.75rem;min-block-size:1.75rem;inline-size:1.75rem;padding:0}.journal-calendar-nav-btn svg{width:1rem;height:1rem}.journal-calendar-table{table-layout:fixed;border-collapse:separate;border-spacing:.125rem;inline-size:100%;min-inline-size:0}.journal-calendar-table th{text-align:center;color:var(--color-text-secondary);font-size:.6875rem;font-weight:var(--font-weight-regular);text-transform:none;letter-spacing:normal;padding:0}.journal-calendar-table abbr{text-decoration:none}.journal-calendar-table td{text-align:center;padding:0}.journal-calendar-day{border:var(--border-width) solid transparent;border-radius:var(--radius-sm);min-block-size:1.75rem;inline-size:100%;color:var(--color-text);font:inherit;font-size:var(--font-size-caption);font-variant-numeric:tabular-nums;cursor:pointer;transition:background-color var(--motion-fast) var(--motion-easing), color var(--motion-fast) var(--motion-easing), border-color var(--motion-fast) var(--motion-easing);background:0 0;justify-content:center;align-items:center;padding:.3125rem 0;display:inline-flex;position:relative}button.journal-calendar-day:focus-visible{z-index:1;box-shadow:var(--focus-ring);outline:none}.journal-calendar-day.is-marked:after,.journal-calendar-day.is-planned:after,.journal-calendar-day.is-overdue:after{background:var(--color-primary);content:"";box-sizing:border-box;border-radius:50%;block-size:.25rem;inline-size:.25rem;position:absolute;bottom:1px;left:50%;transform:translate(-50%)}.journal-calendar-day.is-planned:after{border:var(--border-width) solid var(--color-primary);background:0 0;bottom:2px}.journal-calendar-day.is-overdue:after{background:var(--color-warning)}.journal-calendar-day.is-today{border-color:var(--color-primary);font-weight:var(--font-weight-medium)}.journal-calendar-day.is-selected{background:var(--color-primary);color:var(--color-primary-text);font-weight:var(--font-weight-medium);border-color:var(--color-primary)}.journal-calendar-day.is-selected.is-marked:after,.journal-calendar-day.is-selected.is-overdue:after{background:var(--color-primary-text)}.journal-calendar-day.is-selected.is-planned:after{border-color:var(--color-primary-text);background:0 0}.journal-calendar-day-outside{color:var(--color-text-placeholder);opacity:.5;cursor:default}.journal-calendar-legend{gap:var(--space-1);color:var(--color-text-secondary);margin:.625rem 0 0;padding:0;font-size:.6875rem;line-height:1.5;list-style:none;display:grid}.journal-calendar-legend li{align-items:center;gap:.375rem;display:flex}.journal-calendar-legend-dot{box-sizing:border-box;border-radius:50%;flex:none;block-size:6px;inline-size:6px}.journal-calendar-legend-dot.is-marked{background:var(--color-primary)}.journal-calendar-legend-dot.is-planned{border:var(--border-width) solid var(--color-primary);background:0 0}.journal-calendar-legend-dot.is-overdue{background:var(--color-warning)}.journal-calendar-today-btn{margin-top:var(--space-2)}@media (hover:hover){button.journal-calendar-day:hover:not(.is-selected,.journal-calendar-day-outside){background:var(--color-row-hover)}button.journal-calendar-day.is-selected:hover{background:var(--color-primary-hover)}}.journal-history{min-inline-size:0}.journal-history-header{justify-content:space-between;align-items:center;gap:var(--space-3);border-bottom:var(--border-width) solid var(--color-border);padding-bottom:.625rem;display:flex}.journal-history-header-left{align-items:center;gap:var(--space-2);min-inline-size:0;display:flex}.journal-history-header-left h2{font-size:.9375rem;font-weight:var(--font-weight-medium);color:var(--color-text);margin:0}.journal-history-header-right{align-items:center;gap:var(--space-3);display:flex}.journal-record-count{font-size:var(--font-size-caption);color:var(--color-text-secondary);font-variant-numeric:tabular-nums;flex:none}.journal-date-chip{border-radius:var(--radius-pill);background:var(--color-primary-surface);height:1.375rem;color:var(--color-primary);font-size:var(--font-size-caption);white-space:nowrap;flex:none;align-items:center;gap:.25rem;padding:0 .375rem 0 .5625rem;display:inline-flex}.journal-date-chip-close{block-size:.8125rem;inline-size:.8125rem;color:inherit;cursor:pointer;font-size:var(--font-size-caption);background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;padding:0;line-height:1;display:inline-flex}.journal-date-chip-close:focus-visible{box-shadow:var(--focus-ring);outline:none}.journal-timeline,.journal-day-group{gap:0;display:grid}.journal-day-heading{justify-content:space-between;align-items:center;gap:var(--space-3);padding:calc(.875rem) 0 var(--space-2);display:flex}.journal-day-heading:first-child{padding-top:0}.journal-day-heading h3{font-size:var(--font-size-label);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);margin:0}.journal-day-heading span{font-size:var(--font-size-caption);color:var(--color-text-secondary);font-variant-numeric:tabular-nums}.journal-record-list{gap:0;margin:0;padding:0;list-style:none;display:grid}.journal-record-row{gap:var(--space-2);border-top:var(--border-width) solid var(--color-border);grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid}.journal-record-row:first-child{border-top:0}.journal-record-row .action-menu__trigger--sm{block-size:1.75rem;inline-size:1.75rem}.journal-record{gap:var(--space-3);color:inherit;padding:.6875rem 0;padding-inline:var(--space-2);transition:background-color var(--motion-fast) var(--motion-easing);border-top:0;border-radius:0;grid-template-columns:3.25rem minmax(0,1fr) auto 1rem;align-items:center;min-inline-size:0;margin-inline:-.5rem;text-decoration:none;display:grid;position:relative}.journal-record:focus-visible{box-shadow:var(--focus-ring);outline:none}@media (hover:hover){.journal-record:hover{background:var(--color-row-hover)}}.journal-record-time{font-size:var(--font-size-label);font-weight:var(--font-weight-medium);color:var(--color-text);font-variant-numeric:tabular-nums;white-space:nowrap}.journal-record-content{gap:.125rem;min-inline-size:0;display:grid}.journal-record-title{min-inline-size:0;font-size:var(--font-size-body-sm);font-weight:var(--font-weight-regular);color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:.375rem;line-height:1.25rem;display:flex;overflow:hidden}.journal-record-alert{block-size:.875rem;inline-size:.875rem;color:var(--color-warning);flex:none}.journal-record-chip{border-radius:var(--radius-pill);background:var(--color-primary-surface);height:1.125rem;color:var(--color-primary);white-space:nowrap;flex:none;align-items:center;padding:0 .375rem;font-size:.6875rem;display:inline-flex}.journal-record-subtitle{font-size:var(--font-size-caption);color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;line-height:1rem;overflow:hidden}.journal-record-note{font-size:var(--font-size-caption);color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;margin-top:.125rem;line-height:1rem;overflow:hidden}.journal-record-facts{font-size:var(--font-size-label);color:var(--color-text);font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right}.journal-record-chevron{block-size:1rem;inline-size:1rem;color:var(--color-text-secondary);flex:none}.journal-show-more{inline-size:100%;height:var(--control-height-sm);margin-top:var(--space-2);border:var(--border-width) dashed var(--color-border-strong);border-radius:var(--radius-md);color:var(--color-text);font:inherit;font-size:var(--font-size-label);font-weight:var(--font-weight-medium);cursor:pointer;transition:background-color var(--motion-fast) var(--motion-easing);background:0 0;padding:0}.journal-show-more:focus-visible{box-shadow:var(--focus-ring);outline:none}@media (hover:hover){.journal-show-more:hover{background:var(--color-row-hover)}}.journal-load-more-error{margin:var(--space-3) 0 0;color:var(--color-danger-text);font-size:var(--font-size-label)}.journal-month-separator{z-index:10;justify-content:space-between;align-items:center;gap:var(--space-3);margin-inline:calc(-1 * var(--space-3));padding:var(--space-2) var(--space-3);border-block:var(--border-width) solid var(--color-border);background:var(--color-surface-subtle);display:flex;position:sticky;inset-block-start:0}.journal-month-separator-title{font-size:var(--font-size-caption);font-weight:var(--font-weight-medium);color:var(--color-text);text-transform:uppercase;letter-spacing:var(--letter-spacing-caps)}.journal-month-separator-total{font-size:var(--font-size-caption);color:var(--color-text-secondary);font-variant-numeric:tabular-nums}.journal-empty{min-block-size:16.25rem;padding:var(--space-5) 0;text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.journal-empty-icon{inline-size:var(--control-min-size);block-size:var(--control-min-size);margin-bottom:var(--space-3);border-radius:var(--radius-pill);background:var(--color-surface-subtle);color:var(--color-text-placeholder);justify-content:center;align-items:center;display:inline-flex}.journal-empty-title{font-size:.9375rem;font-weight:var(--font-weight-medium);color:var(--color-text);margin:0}.journal-empty-text{margin:var(--space-1) 0 0;max-inline-size:17.5rem;color:var(--color-text-secondary);font-size:var(--font-size-label);line-height:1.6}.journal-empty .ui-button{margin-top:var(--space-4)}.journal-plan-notice{justify-content:space-between;align-items:center;gap:var(--space-3);margin-top:var(--space-3);display:flex}.journal-plan-session{gap:0;display:grid}.journal-plan-heading{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) 0 var(--space-2);display:flex}.journal-plan-heading-main{align-items:center;gap:.625rem;min-inline-size:0;display:flex}.journal-plan-marker{border:var(--border-width) solid var(--color-primary);box-sizing:border-box;background:0 0;border-radius:50%;flex:none;block-size:5px;inline-size:5px}.journal-plan-heading-text{gap:.125rem;min-inline-size:0;display:grid}.journal-plan-protocol{font-size:var(--font-size-label);font-weight:var(--font-weight-medium);color:var(--color-text)}.journal-plan-meta{font-size:var(--font-size-caption);color:var(--color-text-secondary);font-variant-numeric:tabular-nums}.journal-plan-list{gap:0;display:grid}.journal-plan-row{gap:var(--space-3);border-top:var(--border-width) solid var(--color-border);grid-template-columns:3.25rem minmax(0,1fr) auto auto;align-items:center;padding:.5625rem 0;display:grid}.journal-plan-row .ui-button--sm{height:1.75rem;min-height:1.75rem}.journal-plan-row .action-menu__trigger--sm{block-size:1.75rem;inline-size:1.75rem}.journal-plan-time{font-size:var(--font-size-label);font-weight:var(--font-weight-regular);color:var(--color-text-secondary);font-variant-numeric:tabular-nums}.journal-plan-content{min-inline-size:0}.journal-plan-title{font-size:var(--font-size-body-sm);font-weight:var(--font-weight-regular);color:var(--color-text);line-height:20px}.journal-plan-row.is-skipped .journal-plan-title{color:var(--color-text-secondary);text-decoration:line-through}.journal-plan-subtitle{font-size:var(--font-size-caption);color:var(--color-text-secondary);font-variant-numeric:tabular-nums;margin-top:.125rem}.journal-plan-row.is-overdue .journal-plan-time,.journal-plan-row.is-overdue .journal-plan-subtitle{color:var(--color-warning)}.journal-plan-hint{font-size:var(--font-size-caption);color:var(--color-text-secondary);text-align:right}.journal-facts-heading{align-items:center;gap:var(--space-2);padding:calc(.875rem) 0 var(--space-2);border-top:var(--border-width) solid var(--color-border);font-size:var(--font-size-label);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);display:flex}.journal-facts-marker{background:var(--color-primary);border-radius:50%;flex:none;block-size:5px;inline-size:5px}.journal-new-plan{margin-bottom:calc(var(--space-4) + 2px);padding:calc(.875rem) var(--space-4);border-radius:var(--radius-lg);background:var(--color-primary-surface);color:var(--color-text)}.journal-new-plan-title{font-size:var(--font-size-label);font-weight:var(--font-weight-medium);color:var(--color-text);margin:0}.journal-new-plan-list{margin:var(--space-3) 0 0;gap:.625rem;padding:0;list-style:none;display:grid}.journal-new-plan-row{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.journal-new-plan-name{font-size:var(--font-size-label);font-weight:var(--font-weight-regular);color:var(--color-text)}.journal-new-plan-meta{font-size:var(--font-size-caption);color:var(--color-text);margin-top:.125rem}.journal-new-plan-divider{height:1px;margin:var(--space-3) 0;background:color-mix(in srgb, var(--color-primary) 22%, transparent)}.journal-new-plan-footnote{font-size:var(--font-size-caption);color:var(--color-text);margin:0}@media (width<=56.25rem){.journal-body{grid-template-columns:minmax(0,1fr)}}@media (width<=35rem){.journal-header{flex-direction:column}.journal-header-actions{align-self:stretch}.journal-record{grid-template-columns:3.25rem minmax(0,1fr) 1rem}.journal-record-facts{text-align:left;font-size:var(--font-size-caption);grid-column:2;margin-top:.25rem}}.overview-page{gap:var(--space-5)}.overview-metrics{gap:var(--space-3);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.overview-panel,.planned-page__panel{border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-raised);min-inline-size:0;box-shadow:var(--shadow-xs)}.overview-section-heading{justify-content:space-between;align-items:start;gap:var(--space-3);min-inline-size:0;display:flex}.overview-section-heading h2,.overview-section-heading p,.overview-planned-item h3,.overview-planned-item p{margin:0}.overview-section-heading h2{font-size:var(--font-size-body-sm);font-weight:var(--font-weight-semibold);letter-spacing:0}.overview-section-heading p,.overview-planned-item p{color:var(--color-text-secondary);font-size:var(--font-size-caption);line-height:var(--line-height-body)}.overview-layout{align-items:start;gap:var(--space-4);grid-template-columns:minmax(0,2fr) minmax(16rem,.8fr);display:grid}.overview-panel{padding:var(--space-4)}.overview-section-heading{margin-block-end:var(--space-4)}.overview-section-heading p{margin-block-start:var(--space-1)}.overview-planned-grid{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.overview-planned-item{justify-content:space-between;align-items:start;gap:var(--space-3);min-inline-size:0;padding:var(--space-3);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-subtle);display:flex}.overview-planned-item h3{font-size:var(--font-size-body-sm);margin-block-end:var(--space-1)}.overview-protocol-card,.overview-upcoming-card,.overview-labs-card{align-content:start;gap:var(--space-2);min-block-size:9.5rem;min-inline-size:0;padding:var(--space-3);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-subtle);display:grid}.overview-protocol-card__heading h3,.overview-upcoming-card__heading h3{font-size:var(--font-size-body-sm);margin:0}.overview-protocol-card__body,.overview-upcoming-card__body{gap:var(--space-1);min-block-size:5.5rem;display:grid}.overview-protocol-card__body--state,.overview-protocol-card__body--empty,.overview-upcoming-card__body--state,.overview-upcoming-card__body--empty{align-content:center}.overview-protocol-card__link,.overview-upcoming-card__item{min-inline-size:0;color:inherit;border-radius:var(--radius-sm);text-decoration:none;display:block}.overview-protocol-card__link:hover .overview-protocol-card__name,.overview-upcoming-card__item:hover .overview-upcoming-card__when{color:var(--color-secondary)}.overview-protocol-card__link:focus-visible,.overview-upcoming-card__item:focus-visible{box-shadow:var(--focus-ring);outline:none}.overview-protocol-card__name,.overview-upcoming-card__when{color:var(--color-text);font-size:var(--font-size-caption);font-weight:var(--font-weight-semibold);line-height:var(--line-height-body);margin:0}.overview-protocol-card__meta,.overview-upcoming-card__protocol,.overview-upcoming-card__compounds{color:var(--color-text-secondary);font-size:var(--font-size-caption);line-height:var(--line-height-body);margin:0}.overview-upcoming-card__list{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.overview-upcoming-card__list li{margin:0}.overview-labs-card__heading h3{font-size:var(--font-size-body-sm);margin:0}.overview-labs-card__body{gap:var(--space-1);min-block-size:5.5rem;display:grid}.overview-labs-card__body--state,.overview-labs-card__body--empty{align-content:center}.overview-labs-card__link{min-inline-size:0;color:inherit;border-radius:var(--radius-sm);text-decoration:none;display:block}.overview-labs-card__link:hover .overview-labs-card__meta{color:var(--color-secondary)}.overview-labs-card__link:focus-visible{box-shadow:var(--focus-ring);outline:none}.overview-labs-card__meta,.overview-labs-card__lab{color:var(--color-text-secondary);font-size:var(--font-size-caption);line-height:var(--line-height-body);margin:0}.overview-labs-card__meta{color:var(--color-text);font-weight:var(--font-weight-semibold)}.overview-labs-card__statuses{gap:var(--space-2);margin:var(--space-1) 0 0;flex-wrap:wrap;padding:0;list-style:none;display:flex}.overview-labs-card__statuses li{margin:0}.overview-labs-card__open-link{color:var(--color-secondary);font-size:var(--font-size-caption);font-weight:var(--font-weight-semibold);justify-self:start}.overview-labs-card__open-link:focus-visible{box-shadow:var(--focus-ring);outline:none}.overview-actions nav{display:grid}.overview-actions a{min-block-size:var(--control-min-size);justify-content:space-between;align-items:center;gap:var(--space-3);border-block-start:var(--border-width) solid var(--color-border);color:var(--color-secondary);font-size:var(--font-size-body-sm);font-weight:var(--font-weight-semibold);display:flex}.overview-actions a:focus-visible{box-shadow:var(--focus-ring);outline:none}.planned-page{max-inline-size:56rem}.planned-page__panel{justify-items:start;gap:var(--space-3);padding:var(--space-6);display:grid}.planned-page__panel h2,.planned-page__panel p{margin:0}.planned-page__panel h2{font-size:var(--font-size-title)}.planned-page__panel p{max-inline-size:42rem;color:var(--color-text-secondary);line-height:var(--line-height-body)}@media (width<=70rem){.overview-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-layout{grid-template-columns:minmax(0,1fr)}}@media (width<=40rem){.overview-metrics,.overview-planned-grid{grid-template-columns:minmax(0,1fr)}}.protocols-detail-page,.protocols-editor-page{inline-size:min(100%, var(--content-max-width))}.protocols-split{align-items:start;gap:var(--space-5);grid-template-columns:250px minmax(0,1fr);display:grid}.protocols-list{margin:0;padding:0;list-style:none}.protocols-list__item{margin:0}.protocol-row{align-items:flex-start;gap:calc(var(--space-2) + 2px);width:100%;padding:calc(var(--space-3) - 1px) var(--space-3);border-radius:var(--radius-md);color:inherit;text-align:left;cursor:pointer;font:inherit;background:0 0;border:0;display:flex;position:relative}.protocols-list__item+.protocols-list__item .protocol-row:before{content:"";top:0;left:var(--space-3);right:var(--space-3);background:var(--color-border);height:1px;position:absolute}.protocol-row--selected:before{opacity:0}.protocols-list__item:has(.protocol-row--selected)+.protocols-list__item .protocol-row:before{opacity:0}.protocol-row:hover{background:var(--color-row-hover)}.protocol-row:focus-visible{outline:2px solid var(--color-focus);outline-offset:-2px}.protocol-row--selected{background:var(--color-primary-surface)}.protocol-row__dot{width:7px;height:7px;margin-top:calc(var(--space-2) - 2px);border-radius:var(--radius-pill);flex:none}.protocol-row__body{flex:1;min-width:0}.protocol-row__name{font-size:var(--font-size-body-sm);font-weight:var(--font-weight-medium);color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;line-height:1.25rem;display:block;overflow:hidden}.protocol-row__meta{margin-top:calc(var(--space-1) / 2);font-size:var(--font-size-caption);font-weight:var(--font-weight-regular);color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;line-height:1rem;display:block;overflow:hidden}.protocol-row__chevron{margin-top:var(--space-2);color:var(--color-primary);opacity:0;flex:none}.protocol-row--selected .protocol-row__chevron{opacity:1}.protocol-row--skeleton{pointer-events:none}.protocol-row__dot--skeleton,.protocol-row__name-skeleton,.protocol-row__meta-skeleton{border-radius:var(--radius-pill);background:var(--color-disabled-surface);animation:1.2s ease-in-out infinite alternate protocol-row-pulse;display:block}.protocol-row__name-skeleton{width:140px;height:10px;margin-top:calc(var(--space-1) + 1px)}.protocol-row__meta-skeleton{width:96px;height:8px;margin-top:var(--space-2)}@keyframes protocol-row-pulse{0%{opacity:.6}to{opacity:1}}.protocols-detail{min-width:0}.protocols-detail--empty{min-height:230px;padding:var(--space-6);border:1px dashed var(--color-border-strong);border-radius:var(--radius-lg);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.protocols-detail--selected{padding:var(--space-5);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-lg);align-content:start;gap:0;display:grid}.protocol-card{display:contents}.protocol-card__alert{margin-bottom:calc(var(--space-3) + 2px)}.protocol-card__header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:calc(var(--space-3) + 2px);display:flex}.protocol-card__titles{min-width:0}.protocol-card__title-row{align-items:center;gap:var(--space-2);flex-wrap:wrap;min-width:0;display:flex}.protocol-card__name{font-size:1.125rem;font-weight:var(--font-weight-medium);color:var(--color-text);overflow-wrap:anywhere;margin:0;line-height:1.5rem}.protocol-card__meta{margin:var(--space-1) 0 0;font-size:var(--font-size-label);font-weight:var(--font-weight-regular);color:var(--color-text-secondary);line-height:1.125rem}.protocol-card__actions{gap:var(--space-2);margin-top:calc(2px - var(--space-2));flex:none;display:flex}.protocol-card__next-wrap{margin-bottom:calc(var(--space-4) + 2px)}.protocol-card__next{padding:calc(var(--space-3) + 2px) var(--space-4);border-radius:var(--radius-lg);background:var(--color-primary-surface)}.protocol-card__next-top{justify-content:space-between;align-items:baseline;gap:var(--space-3);flex-wrap:wrap;display:flex}.protocol-card__next-label{margin:0 0 calc(var(--space-1) - 1px);font-size:var(--font-size-caption);font-weight:var(--font-weight-regular);color:var(--color-primary)}.protocol-card__next-value{font-size:1rem;font-weight:var(--font-weight-medium);color:var(--color-text);font-variant-numeric:tabular-nums;margin:0}.protocol-card__countdown{align-items:center;gap:calc(var(--space-2) - 2px);height:1.5rem;padding:0 calc(var(--space-2) + 2px);border-radius:var(--radius-pill);background:var(--color-surface);font-size:var(--font-size-caption);color:var(--color-primary);display:inline-flex}.protocol-card__countdown--overdue{background:var(--color-warning-surface);color:var(--color-warning)}.protocol-card__next-injections{gap:calc(var(--space-2) - 2px);margin:var(--space-3) 0 0;padding:var(--space-3) 0 0;border-top:var(--border-width) solid color-mix(in srgb, var(--color-primary) 22%, transparent);list-style:none;display:grid}.protocol-card__next-injections li{gap:var(--space-3);font-size:var(--font-size-label);grid-template-columns:minmax(0,1fr) auto;display:grid}.protocol-card__next-name{font-weight:var(--font-weight-medium);color:var(--color-text)}.protocol-card__next-dose{font-weight:var(--font-weight-regular);color:var(--color-text);font-variant-numeric:tabular-nums;text-align:right}.protocol-card__state{align-items:center;gap:calc(var(--space-2) + 2px);padding:var(--space-3) calc(var(--space-3) + 2px);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface-subtle);color:var(--color-text-secondary);font-size:var(--font-size-label);line-height:1.125rem;display:flex}.protocol-card__state p{margin:0}.protocol-card__state strong{font-weight:var(--font-weight-medium);color:var(--color-text)}.protocol-card__state--warning{background:var(--color-warning-surface);color:var(--color-warning);border-color:#0000}.protocol-card__state--warning strong{color:var(--color-warning)}.protocol-card__regimen--spaced{margin-top:var(--space-4)}.protocol-card__schedules{gap:calc(var(--space-2) - 2px);margin-bottom:calc(var(--space-2) + 2px);flex-wrap:wrap;display:flex}.protocol-card__schedule-chip{height:1.5rem;padding:0 calc(var(--space-2) + 1px);border-radius:var(--radius-pill);background:var(--color-background);font-size:var(--font-size-caption);color:var(--color-text-secondary);font-variant-numeric:tabular-nums;align-items:center;display:inline-flex}.protocol-card__doses{border:var(--border-width) solid var(--color-border);border-radius:var(--radius-lg);margin:0;padding:0;list-style:none;overflow:hidden}.protocol-card__doses li{align-items:center;gap:calc(var(--space-3) + 2px);padding:calc(var(--space-2) + 3px) calc(var(--space-3) + 2px);grid-template-columns:minmax(0,1fr) auto;display:grid}.protocol-card__doses li+li{border-top:var(--border-width) solid var(--color-border)}.protocol-card__dose-main{min-width:0}.protocol-card__dose-name-row{align-items:center;min-width:0;display:flex}.protocol-card__dose-name{font-size:.875rem;font-weight:var(--font-weight-regular);color:var(--color-text);overflow-wrap:anywhere;line-height:1.25rem}.protocol-card__dose-alert{margin-left:calc(var(--space-2) - 2px);color:var(--color-warning);flex:none;display:inline-flex}.protocol-card__dose-sub{margin:calc(var(--space-1) / 2) 0 0;font-size:var(--font-size-caption);font-weight:var(--font-weight-regular);color:var(--color-text-secondary);overflow-wrap:anywhere;line-height:1rem}.protocol-card__dose-meta{align-items:center;gap:calc(var(--space-3) + 2px);grid-template-columns:auto 2.5rem;display:grid}.protocol-card__dose-amount{font-size:var(--font-size-label);font-weight:var(--font-weight-regular);color:var(--color-text);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.protocol-card__dose-route{width:2.5rem;font-size:var(--font-size-caption);font-weight:var(--font-weight-regular);color:var(--color-text-secondary);text-align:right}.protocol-card__empty{color:var(--color-text-secondary);font-size:var(--font-size-label)}.protocol-card__empty p{margin:0}.protocol-card__empty .ui-button{margin-top:var(--space-3)}.protocol-card__footnote{margin:var(--space-3) 0 0;font-size:var(--font-size-caption);font-weight:var(--font-weight-regular);color:var(--color-text-secondary)}@media (width<=32.5rem){.protocol-card__doses li{grid-template-columns:minmax(0,1fr)}.protocol-card__dose-meta{margin-top:var(--space-1);justify-content:space-between;display:flex}.protocol-card__countdown{margin-top:var(--space-2)}}.protocols-detail__empty-content{flex-direction:column;align-items:center;max-width:17.5rem;display:flex}.protocols-detail__loading{min-height:8rem}.protocols-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:260px;display:flex}.protocols-empty__icon{width:2.75rem;height:2.75rem;margin-bottom:var(--space-3);border-radius:var(--radius-pill);background:var(--color-surface-subtle);color:var(--color-text-placeholder);justify-content:center;align-items:center;display:inline-flex}.protocols-empty__title{font-size:.9375rem;font-weight:var(--font-weight-medium);color:var(--color-text);margin:0}.protocols-empty__text{margin:var(--space-1) 0 0;max-width:17.5rem;font-size:var(--font-size-label);font-weight:var(--font-weight-regular);color:var(--color-text-secondary);line-height:1.6}.protocols-empty__reset{margin-top:var(--space-4)}.protocols-summary__next,.protocols-overview__description{margin:0}.protocols-summary__next{color:var(--color-text-secondary);font-weight:var(--font-weight-medium)}.protocols-overview__description{color:var(--color-text-secondary);line-height:var(--line-height-body)}.protocols-summary__stats{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));margin:0;display:grid}.protocols-summary__stats div{gap:var(--space-1);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);display:grid}.protocols-summary__stats dt{color:var(--color-text-secondary);font-size:var(--font-size-caption)}.protocols-summary__stats dd{font-variant-numeric:tabular-nums;font-weight:var(--font-weight-semibold);margin:0}.protocols-overview__stats-row{gap:var(--space-4);color:var(--color-text-secondary);font-size:var(--font-size-body-sm);font-variant-numeric:tabular-nums;flex-wrap:wrap;display:flex}.protocols-summary__schemes{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.protocols-summary__schemes li{gap:var(--space-1);border-block-start:var(--border-width) solid var(--color-border);padding-block-start:var(--space-3);display:grid}.protocols-summary__schemes li:first-child{border-block-start:0;padding-block-start:0}.protocols-summary__schedules{color:var(--color-text-secondary);font-size:var(--font-size-caption)}.protocols-overview__upcoming ul{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.protocols-overview__upcoming li{color:var(--color-text-secondary);font-size:var(--font-size-body-sm);font-variant-numeric:tabular-nums}.protocols-dose-list,.protocols-schedule-list{margin:var(--space-2) 0 0;padding-inline-start:var(--space-5)}.protocols-dose-list li,.protocols-schedule-list li{font-variant-numeric:tabular-nums}.protocols-detail-head{align-items:center;gap:var(--space-3);display:flex}.protocols-history h3{font-size:var(--font-size-title-sm);margin-block-end:var(--space-2)}.protocols-history>div+div{margin-block-start:var(--space-4)}.protocols-lifecycle-dialog{text-align:start}.protocols-lifecycle-dialog__hint{color:var(--color-text-secondary);line-height:var(--line-height-body);margin:0}.protocols-lifecycle-dialog__toggle{align-items:center;gap:var(--space-2);font-size:var(--font-size-body-sm)!important;font-weight:var(--font-weight-regular)!important;color:var(--color-text)!important;grid-template-columns:none!important;display:flex!important}.protocols-week-strip{gap:var(--space-1);grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.protocols-week-strip__day{justify-items:center;gap:var(--space-1);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-2) 0;color:var(--color-text);background:var(--color-surface);font-size:var(--font-size-caption);display:grid}.protocols-week-strip__day strong{font-variant-numeric:tabular-nums}.protocols-week-strip__day[aria-pressed=true]{border-color:var(--color-primary);color:var(--color-primary-text);background:var(--color-primary)}.protocols-plan{gap:var(--space-4);display:grid}.protocols-plan__toolbar{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.protocols-plan__nav{align-items:center;gap:var(--space-2);font-weight:var(--font-weight-semibold);display:flex}.protocols-plan__action-error{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.protocols-plan__days{gap:var(--space-5);display:grid}.protocols-plan-day__title{margin:0 0 var(--space-2);font-size:var(--font-size-title-sm)}.protocols-plan-sessions{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.protocols-session{border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4);background:var(--color-surface-raised);box-shadow:var(--shadow-xs)}.protocols-session__head{align-items:center;gap:var(--space-2);margin-block-end:var(--space-3);display:flex}.protocols-session__time{font-variant-numeric:tabular-nums;font-weight:var(--font-weight-semibold)}.protocols-positions{gap:var(--space-2);margin:0 0 var(--space-3);padding:0;list-style:none;display:grid}.protocols-position{align-items:center;gap:var(--space-3);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);grid-template-columns:auto minmax(0,1fr) auto auto;display:grid}.protocols-position__spacer{inline-size:1rem}.protocols-position__label{gap:var(--space-1);min-inline-size:0;display:grid}.protocols-position__label span{overflow-wrap:anywhere;color:var(--color-text-secondary);font-size:var(--font-size-caption);font-variant-numeric:tabular-nums;white-space:pre-wrap}.protocols-position__actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.protocols-session__future-note{color:var(--color-text-secondary);font-size:var(--font-size-caption);margin:0}.protocols-session__footer{justify-content:flex-end;gap:var(--space-2);border-block-start:var(--border-width) solid var(--color-border);flex-wrap:wrap;padding-block-start:var(--space-3);display:flex}.editor-form-root{gap:0;display:grid}.editor-header{z-index:30;justify-content:space-between;align-items:center;gap:var(--space-4);min-height:4.375rem;padding:calc(var(--space-3) + 2px) var(--space-5);border-bottom:var(--border-width) solid var(--color-border);border-radius:0 0 var(--radius-lg) var(--radius-lg);background:var(--color-surface);display:flex;position:sticky;top:0}.editor-header__text{min-width:0}.editor-header__crumb{align-items:center;gap:calc(var(--space-2) - 2px);margin-bottom:calc(var(--space-1) / 2);color:var(--color-text-secondary);font-size:var(--font-size-caption);text-decoration:none;display:inline-flex}.editor-header__crumb:hover{color:var(--color-text)}.editor-header__title-row{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.editor-header__title{color:var(--color-text);font-size:1.125rem;font-weight:var(--font-weight-medium);margin:0;line-height:1.5rem}.editor-header__actions{gap:var(--space-2);flex:none;display:flex}.editor-body{align-items:start;gap:var(--space-5);margin-top:var(--space-5);grid-template-columns:minmax(0,1fr) 20rem;display:grid}.editor-form{align-content:start;gap:0;display:grid}.editor-form>.ui-notice{margin-bottom:calc(var(--space-3) + 2px)}.editor-effective{align-items:flex-start;gap:calc(var(--space-2) + 2px);margin-bottom:var(--space-4);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);background:var(--color-primary-surface);color:var(--color-text);display:flex}.editor-effective>svg{margin-top:calc(var(--space-0) + 1px);color:var(--color-primary);flex:none}.editor-effective__content{gap:var(--space-2);min-width:0;display:grid}.editor-effective__content p{font-size:var(--font-size-label);margin:0;line-height:1.125rem}.editor-meta{margin-bottom:var(--space-4);padding:calc(var(--space-4) + 2px) var(--space-5) var(--space-5);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-lg)}.editor-meta__grid{gap:calc(var(--space-3) + 2px) var(--space-4);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.editor-meta__span-2{grid-column:span 2}.editor-meta__span-4{grid-column:span 4}.editor-meta__ends{gap:var(--space-2);align-content:start;display:grid}.editor-autogrow{min-height:var(--control-height-sm);resize:none;max-height:7.25rem;overflow:hidden}.editor-meta__label{margin-bottom:var(--space-1);color:var(--color-text);font-size:var(--font-size-label);font-weight:var(--font-weight-medium);display:block}.editor-regimen{margin-top:var(--space-3);padding:var(--space-4) calc(var(--space-4) + 2px);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-lg)}.editor-regimen:first-of-type{margin-top:0}.editor-regimen__header{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);display:flex}.editor-regimen__title-block{flex-wrap:wrap;align-items:baseline;min-width:0;display:flex}.editor-regimen__title{color:var(--color-text);font-size:.9375rem;font-weight:var(--font-weight-medium);margin:0}.editor-regimen__count{margin-left:var(--space-2);color:var(--color-text-secondary);font-size:var(--font-size-caption)}.editor-regimen__error{margin:0 0 calc(var(--space-2) + 2px);color:var(--color-danger-text);font-size:var(--font-size-caption)}.editor-regimen__section-title{margin:0 0 var(--space-2);color:var(--color-text);font-size:var(--font-size-label);font-weight:var(--font-weight-medium)}.editor-regimen__divider{height:1px;margin:calc(var(--space-3) + 2px) 0;background:var(--color-border)}.editor-dose-columns,.editor-dose-row{gap:var(--space-3);grid-template-columns:minmax(0,1fr) 6.25rem 6.25rem 9.375rem 2rem;align-items:start;display:grid}.editor-dose-columns{padding-bottom:calc(var(--space-2) - 2px);color:var(--color-text-secondary);font-size:.6875rem}.editor-dose-row{padding:var(--space-2) 0;border-top:var(--border-width) solid var(--color-border)}.editor-dose-row__controls{display:contents}.editor-dose-row__route .menu-select__trigger{height:calc(var(--space-8) + 2px);min-height:calc(var(--space-8) + 2px)}.editor-dose-row__hint{align-items:center;gap:var(--space-1);margin:calc(var(--space-1) - 1px) 0 0;color:var(--color-text-secondary);font-size:.6875rem;display:flex}.editor-dose-row__hint--warning{color:var(--color-warning)}.editor-unit-field{display:block;position:relative}.editor-unit-field input{width:100%;height:calc(var(--space-8) + 2px);padding:0 calc(var(--space-6) + 4px) 0 calc(var(--space-2) + 2px);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font:inherit;font-variant-numeric:tabular-nums;text-align:left}.editor-unit-field input:focus-visible{box-shadow:var(--focus-ring);outline:none}.editor-unit-field__suffix{top:50%;right:calc(var(--space-2) + 2px);color:var(--color-text-secondary);font-size:.6875rem;position:absolute;transform:translateY(-50%)}.editor-unit-field--narrow{width:4.5rem}.editor-unit-field--narrow input{padding-right:calc(var(--space-2) + 2px)}.editor-icon-remove{width:1.75rem;height:1.75rem;margin-top:calc(var(--space-1) - 1px);border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;margin-left:auto;padding:0;display:inline-flex}.editor-icon-remove:hover:not(:disabled){background:var(--color-danger-surface);color:var(--color-danger-text)}.editor-icon-remove:disabled{color:var(--color-disabled-text);cursor:not-allowed}.editor-schedule-list,.editor-dose-list{display:grid}.editor-schedule-row{align-items:center;gap:calc(var(--space-2) + 2px);padding:var(--space-2) 0;flex-wrap:wrap;display:flex}.editor-schedule-row+.editor-schedule-row{border-top:var(--border-width) solid var(--color-border)}.editor-schedule-row__interval,.editor-schedule-row__time{align-items:flex-start;gap:calc(var(--space-1) - 1px);flex-direction:column;display:flex}.editor-schedule-row__interval-controls{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.editor-schedule-row__unit{color:var(--color-text-secondary);font-size:var(--font-size-caption)}.editor-date-input,.editor-time-input{height:2rem;padding:0 calc(var(--space-2) + 2px);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font:inherit;font-variant-numeric:tabular-nums}.editor-date-input{width:9.375rem}.editor-schedule-row__interval .editor-date-input{width:8.125rem}.editor-time-input{width:6rem}.editor-inline-error{margin:calc(var(--space-1) - 1px) 0 0;color:var(--color-danger-text);font-size:var(--font-size-caption)}.editor-add-inline{align-items:center;gap:calc(var(--space-2) - 2px);width:fit-content;margin-top:var(--space-2);display:inline-flex}.editor-add-regimen{justify-content:center;align-items:center;gap:calc(var(--space-2) - 2px);width:100%;height:var(--control-height-sm);margin-top:var(--space-3);border:var(--border-width) dashed var(--color-border-strong);border-radius:var(--radius-md);color:var(--color-text);font:inherit;font-size:var(--font-size-label);font-weight:var(--font-weight-medium);cursor:pointer;background:0 0;display:flex}.editor-add-regimen:hover{border-color:var(--color-text-placeholder);background:var(--color-row-hover)}.editor-preview{padding:var(--space-4);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);position:sticky;top:5.625rem}.editor-preview__title{margin:0 0 calc(var(--space-2) + 2px);color:var(--color-text);font-size:var(--font-size-label);font-weight:var(--font-weight-medium)}.editor-preview__metrics{gap:var(--space-2);display:flex}.editor-preview__metrics .ui-metric-card{flex:1;min-width:0}.editor-preview__groups{gap:calc(var(--space-2) + 2px);margin-top:calc(var(--space-3) + 2px);display:grid}.editor-preview__group+.editor-preview__group{padding-top:calc(var(--space-2) + 2px);border-top:var(--border-width) solid var(--color-border)}.editor-preview__group-label{margin:0 0 var(--space-1);color:var(--color-text-secondary);font-size:var(--font-size-caption)}.editor-preview__moments{gap:calc(var(--space-2) - 2px);margin:0;padding:0;list-style:none;display:grid}.editor-preview__moments li{gap:var(--space-2);min-width:0;font-size:var(--font-size-label);display:flex}.editor-preview__time{color:var(--color-text);font-weight:var(--font-weight-medium);font-variant-numeric:tabular-nums;flex:none}.editor-preview__composition{min-width:0;color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.editor-preview__more,.editor-preview__empty{margin-top:calc(var(--space-3) + 2px);color:var(--color-text-secondary);font-size:var(--font-size-label)}.editor-preview__empty p{margin:0}.editor-preview__empty p+p{margin-top:var(--space-1)}.editor-preview .ui-notice{margin-top:calc(var(--space-3) + 2px)}@media (width<=68.75rem){.editor-body{grid-template-columns:minmax(0,1fr)}.editor-preview{position:static}.editor-meta__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.editor-meta__span-2,.editor-meta__span-4{grid-column:span 2}.editor-regimen__title-block{align-items:flex-start;gap:calc(var(--space-1) / 2);flex-direction:column}.editor-regimen__count{margin-left:0}}@media (width<=51.25rem){.editor-dose-columns{display:none}.editor-dose-row{gap:var(--space-2);grid-template-columns:minmax(0,1fr)}.editor-dose-row__controls{gap:calc(var(--space-2) + 2px);flex-wrap:wrap;grid-column:1/-1;display:flex}.editor-dose-row__volume,.editor-dose-row__dose{width:6.25rem}.editor-dose-row__route{flex:1;min-width:9.375rem}.editor-schedule-row .editor-icon-remove{margin-left:0}}@media (width<=35rem){.editor-header{flex-direction:column;align-items:stretch;height:auto}.editor-header__actions{width:100%}.editor-header__actions>*{flex:1}.editor-meta__grid{grid-template-columns:minmax(0,1fr)}.editor-meta__span-2,.editor-meta__span-4{grid-column:auto}}@media (width<=40rem){.protocols-position{grid-template-columns:auto minmax(0,1fr)}.protocols-position__actions{grid-column:1/-1}}@media (prefers-reduced-motion:reduce){.protocol-row__dot--skeleton,.protocol-row__name-skeleton,.protocol-row__meta-skeleton{animation:none}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-brand-aqua:#56b7e9;--color-brand-teal:#2c9fb0;--color-brand-teal-strong:#167486;--color-brand-blue:#2f7ee6;--color-brand-blue-strong:#175fc2;--color-brand-mint:#d9edf2;--color-brand-sky:#dbeafe;--color-brand-plum:#6e5b8c;--color-brand-amber:#b8860f;--color-brand-clay:#c1653d;--color-background:#f5f7fb;--color-surface:#fff;--color-surface-raised:#fff;--color-surface-subtle:#f7f9fc;--color-text:#10213f;--color-text-secondary:#60708a;--color-text-placeholder:#8794a8;--color-border:#dfe5ee;--color-border-strong:#b9c5d5;--color-primary:#1769d2;--color-primary-hover:#125bb8;--color-primary-pressed:#0f4d9d;--color-primary-surface:#eaf2fd;--color-primary-text:#fff;--color-row-hover:var(--color-surface-subtle);--color-secondary:#175fc2;--color-focus:#1769d2;--color-success:#176b46;--color-success-surface:#e7f8ef;--color-warning:#7a5200;--color-warning-surface:#fff3cf;--color-danger:#a32d2d;--color-danger-text:#8c2626;--color-danger-surface:#fdebec;--color-disabled-surface:#edf1f6;--color-disabled-text:#718096;--color-overlay:#0f1f3d61;--color-primary-tint-hover:color-mix(in srgb, var(--color-primary) 4%, var(--color-surface));--color-primary-tint-selected:color-mix(in srgb, var(--color-primary) 7%, var(--color-surface));--color-primary-tint-active:color-mix(in srgb, var(--color-primary) 12%, var(--color-surface));--color-chart-1:#1d66d1;--color-chart-2:#047f78;--color-chart-3:#6e5b8c;--color-chart-4:#9a6500;--color-chart-5:#287a4e;--font-family-body:Inter, ui-sans-serif, system-ui, sans-serif;--font-family-display:var(--font-family-body);--font-family-mono:ui-monospace, "SF Mono", "Cascadia Mono", Consolas, "Roboto Mono", monospace;--font-size-caption:.75rem;--font-size-label:.8125rem;--font-size-body-sm:.875rem;--font-size-body:1rem;--font-size-title-sm:1rem;--font-size-title:1.25rem;--font-size-title-lg:1.375rem;--font-size-display:clamp(1.5rem, 2vw, 1.875rem);--font-size-metric:clamp(1.5rem, 2vw, 1.875rem);--line-height-tight:1.2;--line-height-body:1.5;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:650;--font-weight-bold:750;--letter-spacing-caps:.06em;--space-0:0;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--radius-sm:.4375rem;--radius-md:.625rem;--radius-lg:.75rem;--radius-pill:999px;--icon-size-sm:1rem;--icon-size-md:1.25rem;--icon-size-lg:1.5rem;--border-width:1px;--control-min-size:2.75rem;--control-height-sm:2.25rem;--row-min-height:3.25rem;--content-max-width:84rem;--sidebar-width:14.5rem;--z-popover:40;--shadow-xs:0 1px 2px #1e40690d;--shadow-sm:0 3px 10px #1e406912;--shadow-md:0 10px 28px #1e40691f;--focus-ring-width:2px;--focus-ring-offset:2px;--focus-ring:0 0 0 var(--focus-ring-width) var(--color-focus);--motion-fast:.12s;--motion-standard:.2s;--motion-easing:cubic-bezier(.2, 0, 0, 1);font-family:var(--font-family-body);color:var(--color-text);background:var(--color-background);font-synthesis:none}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-background:#0b1324;--color-surface:#121d31;--color-surface-raised:#17243a;--color-surface-subtle:#101a2c;--color-text:#edf3fc;--color-text-secondary:#a9b7cb;--color-text-placeholder:#8391a5;--color-border:#2b3b55;--color-border-strong:#5c6d86;--color-primary:#7db4ff;--color-primary-hover:#9bc5ff;--color-primary-pressed:#b6d5ff;--color-primary-surface:#1b2b47;--color-primary-text:#081426;--color-secondary:#a9ccff;--color-focus:#7db4ff;--color-success:#8ce0b4;--color-success-surface:#173c2b;--color-warning:#f0c874;--color-warning-surface:#3c3118;--color-danger:#f09a9a;--color-danger-text:#ffc2c2;--color-danger-surface:#4a1f1f;--color-disabled-surface:#223049;--color-disabled-text:#8795a9;--color-overlay:#0000008c;--color-chart-1:#82b8ff;--color-chart-2:#7fe3cf;--color-chart-3:#d9cbef;--color-chart-4:#f0c874;--color-chart-5:#8ce0b4;--color-brand-teal:#64b9c7;--color-brand-teal-strong:#8bd2dd;--color-brand-blue:#7db4ff;--color-brand-blue-strong:#a9ccff;--color-brand-mint:#183047;--color-brand-sky:#1b3150;--color-brand-plum:#9a84c2;--color-brand-amber:#caa042;--color-brand-clay:#d98a63}}@media (prefers-contrast:more){:root{--color-border:var(--color-text-secondary);--color-border-strong:var(--color-text);--focus-ring-width:3px}}@media (prefers-reduced-motion:reduce){:root{--motion-fast:0s;--motion-standard:0s}}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}a{color:inherit;text-decoration:none}@media (prefers-contrast:more){a{text-underline-offset:.18em;text-decoration:underline;text-decoration-thickness:max(1px,.08em)}}button,input,select{font:inherit}button{cursor:pointer}input:not([type=checkbox],[type=radio]),select,textarea{width:100%;font:inherit}input[type=checkbox],input[type=radio]{font:inherit;width:auto}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:var(--color-text-placeholder)}.ui-field-control:focus,.ui-field-control:focus-visible,button:focus-visible,.nav-link:focus-visible{box-shadow:var(--focus-ring);outline:none}h1,h2,p{margin-top:0}h1,h2{font-family:var(--font-family-body);letter-spacing:-.02em;font-weight:650}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.page-card{width:100%;padding:var(--space-6);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);gap:0;display:grid}.page-card__header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-5);display:flex}.page-card__heading{min-width:0}.page-card__back{margin-block-end:var(--space-2)}.page-card__tools{justify-content:end;align-items:center;gap:var(--space-2);min-inline-size:0;margin-top:calc(-1 * var(--space-1) - 1px);flex-wrap:wrap;flex:0 auto;display:flex}.page-card__period{color:var(--color-text-secondary);font-size:var(--font-size-body-sm)}.page-card__title{font-size:var(--font-size-title-lg);font-weight:var(--font-weight-medium);letter-spacing:-.01em;color:var(--color-text);overflow-wrap:anywhere;margin:0;line-height:1.625rem}.page-card__subtitle{margin:var(--space-1) 0 0;font-size:var(--font-size-label);font-weight:var(--font-weight-regular);color:var(--color-text-secondary);overflow-wrap:anywhere;line-height:1.25rem}.page-card__actions{align-items:center;gap:var(--space-2);display:flex}.page-card__section-title{margin:0 0 var(--space-3);color:var(--color-text-secondary);font-size:var(--font-size-caption);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-caps);text-transform:uppercase}.page-card .table-wrap:has(.ui-table){border-color:var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-raised);box-shadow:var(--shadow-xs)}.ui-table{min-inline-size:34rem}.ui-table th{padding:var(--space-2) var(--space-3);color:var(--color-text-secondary);background:var(--color-surface-subtle);font-size:var(--font-size-caption);letter-spacing:var(--letter-spacing-caps)}.ui-table td{padding:var(--space-2) var(--space-3)}.ui-table tbody tr:last-child td{border-block-end:0}.ui-table tbody tr:hover{background:var(--color-primary-tint-hover)}.settings-form-page .form-stack{gap:var(--space-5);max-inline-size:42rem}.settings-form-page .form-actions{border-block-start:var(--border-width) solid var(--color-border);justify-content:flex-end;align-items:center;margin-block-start:var(--space-2);padding-block-start:var(--space-5)}.settings-form-page .form-actions button[type=submit],.settings-form-page .form-actions .ui-button[type=submit]{padding-inline:var(--space-5);flex:0 auto}.settings-form-page>.ui-button--danger{margin-block-start:var(--space-5)}.ui-toolbar{align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);padding-bottom:var(--space-4);border-bottom:var(--border-width) solid var(--color-border);flex-wrap:wrap;display:flex}.ui-toolbar>.ui-search-input{flex:16rem}.ui-toolbar>:not(.ui-search-input){flex:none}.ui-toolbar>.searchable-select{flex:0 14rem;min-width:14rem}.ui-toolbar .ui-field-control,.ui-toolbar .searchable-select__trigger,.ui-toolbar .menu-select__trigger{height:var(--control-height-sm);min-height:var(--control-height-sm);border-radius:var(--radius-md);font-size:var(--font-size-label)}.ui-toolbar__sort{flex:none}.ui-toolbar__daterange{align-items:center;gap:var(--space-2);height:var(--control-height-sm);padding:0 var(--space-3);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);flex:none;display:flex}.ui-toolbar__daterange input{width:auto;height:auto;min-height:0;font-size:var(--font-size-label);background:0 0;border:0;padding:0}.ui-toolbar__daterange input:focus,.ui-toolbar__daterange input:focus-visible{box-shadow:none}.ui-toolbar__daterange-sep{color:var(--color-text-secondary);flex:none}@media (width<=46rem){.settings-form-page .form-actions{flex-direction:column;align-items:stretch}.settings-form-page .form-actions>*{inline-size:100%;margin-inline:0}}@media (width<=30rem){.ui-toolbar input,.ui-toolbar select,.ui-toolbar .searchable-select__trigger,.ui-toolbar .menu-select__trigger,.ui-toolbar .ui-button{min-height:var(--control-min-size)}.ui-toolbar>.ui-search-input{flex:100%}.settings-form-page .form-actions .ui-button{min-height:var(--control-min-size)}}.ui-button{min-height:var(--control-min-size);border:var(--border-width) solid transparent;border-radius:var(--radius-sm);padding:var(--space-2) var(--space-4);justify-content:center;align-items:center;gap:var(--space-2);font:inherit;font-size:var(--font-size-body-sm);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);cursor:pointer;transition:background-color var(--motion-fast) var(--motion-easing), border-color var(--motion-fast) var(--motion-easing), color var(--motion-fast) var(--motion-easing), transform var(--motion-fast) var(--motion-easing);text-decoration:none;display:inline-flex}.ui-button:focus-visible,.ui-icon-button:focus-visible,.ui-field-control:focus-visible{box-shadow:var(--focus-ring);outline:none}.ui-button--primary{color:var(--color-primary-text);background:var(--color-primary)}.ui-button--primary:hover:not(:disabled){background:var(--color-primary-hover)}.ui-button--primary:active:not(:disabled){background:var(--color-primary-pressed)}.ui-button--secondary,.ui-button--ghost{color:var(--color-text);background:var(--color-surface);border-color:var(--color-border)}.ui-button--secondary:hover:not(:disabled),.ui-button--ghost:hover:not(:disabled){border-color:var(--color-border-strong);background:var(--color-surface-subtle)}.ui-button--ghost{background:0 0;border-color:#0000}.ui-button--danger{color:var(--color-danger-text);background:var(--color-danger-surface);border-color:color-mix(in srgb, var(--color-danger) 45%, var(--color-border))}.ui-button--sm{height:var(--control-height-sm);min-height:var(--control-height-sm);padding:0 calc(var(--space-3) + 2px);gap:calc(var(--space-2) - 2px);border-radius:var(--radius-md);font-size:var(--font-size-label);font-weight:var(--font-weight-medium)}.ui-button--lg{min-height:3rem;padding-inline:var(--space-5);font-size:var(--font-size-body)}.ui-button:disabled{color:var(--color-disabled-text);background:var(--color-disabled-surface);border-color:var(--color-border);cursor:not-allowed;opacity:1}.ui-button__spinner{border:2px solid;border-right-color:#0000;border-radius:50%;width:1rem;height:1rem;animation:.7s linear infinite ui-spin}.ui-icon-button{width:var(--control-min-size);height:var(--control-min-size);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);background:var(--color-surface);transition:background-color var(--motion-fast) var(--motion-easing), border-color var(--motion-fast) var(--motion-easing);justify-content:center;align-items:center;padding:0;display:inline-flex}.ui-icon-button:hover:not(:disabled){background:var(--color-surface-subtle);border-color:var(--color-border-strong)}.ui-icon-button>svg{width:var(--icon-size-md);height:var(--icon-size-md)}.ui-icon-button--sm{inline-size:var(--control-height-sm);block-size:var(--control-height-sm)}.ui-icon-button--sm>svg{inline-size:var(--icon-size-sm);block-size:var(--icon-size-sm)}@media (pointer:coarse){.ui-icon-button--sm{inline-size:var(--control-min-size);block-size:var(--control-min-size)}.ui-icon-button--sm>svg{inline-size:var(--icon-size-md);block-size:var(--icon-size-md)}}.ui-card{border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4);color:var(--color-text);background:var(--color-surface);box-shadow:var(--shadow-xs)}.ui-card--raised{background:var(--color-surface-raised);box-shadow:var(--shadow-sm)}.ui-card--subtle{background:var(--color-surface-subtle);box-shadow:none}.ui-card--selected{border-color:var(--color-primary);background:var(--color-primary-tint-selected)}.ui-badge{align-items:center;gap:var(--space-1);border-radius:var(--radius-pill);min-height:1.5rem;padding:var(--space-1) var(--space-2);font-size:var(--font-size-caption);font-weight:var(--font-weight-semibold);white-space:nowrap;line-height:1;display:inline-flex}.ui-badge__mark{inline-size:var(--icon-size-sm);block-size:var(--icon-size-sm);border-radius:var(--radius-pill);font-size:var(--font-size-caption);background:var(--ui-badge-mark-bg);color:var(--color-surface);flex:none;justify-content:center;align-items:center;line-height:1;display:inline-flex}.ui-badge--neutral{--ui-badge-mark-bg:var(--color-text-secondary);color:var(--color-text-secondary);background:var(--color-surface-subtle)}.ui-badge--info{--ui-badge-mark-bg:var(--color-secondary);color:var(--color-secondary);background:color-mix(in srgb, var(--color-brand-sky) 60%, var(--color-surface))}.ui-badge--success{--ui-badge-mark-bg:var(--color-success);color:var(--color-success);background:var(--color-success-surface)}.ui-badge--warning,.ui-badge--planned{--ui-badge-mark-bg:var(--color-warning);color:var(--color-warning);background:var(--color-warning-surface)}.ui-badge--danger{--ui-badge-mark-bg:var(--color-danger-text);color:var(--color-danger-text);background:var(--color-danger-surface)}.ui-badge--dimmed{color:var(--color-text-secondary);background:0 0;padding-inline:0}.ui-badge--dimmed .ui-badge__mark{background:var(--color-border)}.ui-field{gap:var(--space-2);display:grid}.ui-field__label{color:var(--color-text-secondary);font-size:var(--font-size-label);font-weight:var(--font-weight-medium)}.ui-field__required{color:var(--color-danger)}.ui-field__optional{color:var(--color-text-secondary);font-weight:var(--font-weight-regular)}.ui-field-control{min-height:var(--control-min-size);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);color:var(--color-text);background:var(--color-surface);font:inherit}.ui-field-control[aria-invalid=true]{border-color:var(--color-danger)}.ui-field__hint,.ui-field__error{font-size:var(--font-size-caption);margin:0}.ui-field__hint{color:var(--color-text-secondary)}.ui-field__error{color:var(--color-danger-text)}.ui-metric-card{gap:var(--space-3);min-height:8rem;display:grid}.ui-metric-card__header{justify-content:space-between;align-items:start;gap:var(--space-3);display:flex}.ui-metric-card__label,.ui-metric-card__supporting{color:var(--color-text-secondary);margin:0}.ui-metric-card__label{font-size:var(--font-size-label);font-weight:var(--font-weight-semibold)}.ui-metric-card__value{align-items:baseline;gap:var(--space-1);font-family:var(--font-family-mono);font-size:var(--font-size-metric);font-variant-numeric:tabular-nums;line-height:var(--line-height-tight);display:flex}.ui-metric-card__value--muted{color:var(--color-text-secondary)}.ui-metric-card__unit{color:var(--color-text-secondary);font-family:var(--font-family-body);font-size:var(--font-size-body-sm)}.ui-metric-card__body{align-content:center;min-block-size:3.5rem;display:grid}.ui-metric-card__supporting{font-size:var(--font-size-caption);line-height:var(--line-height-body);-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.ui-notice{gap:var(--space-2);border:var(--border-width) solid transparent;border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);line-height:var(--line-height-body);margin:0;display:grid}.ui-notice>:first-child{margin-block-start:0}.ui-notice>:last-child{margin-block-end:0}.ui-notice--error{border-color:color-mix(in srgb, var(--color-danger) 40%, var(--color-border));background:var(--color-danger-surface);color:var(--color-danger-text)}.ui-notice--success{border-color:color-mix(in srgb, var(--color-success) 40%, var(--color-border));background:var(--color-success-surface);color:var(--color-success)}.ui-notice--warning{border-color:color-mix(in srgb, var(--color-warning) 40%, var(--color-border));background:var(--color-warning-surface);color:var(--color-warning)}.ui-notice--info{border-color:color-mix(in srgb, var(--color-secondary) 40%, var(--color-border));background:color-mix(in srgb, var(--color-brand-sky) 55%, var(--color-surface));color:var(--color-secondary)}.ui-state-view{gap:var(--space-3);justify-items:start;display:grid}.ui-state-view__title,.ui-state-view__description{margin:0}.ui-state-view__title{font-size:var(--font-size-title-sm)}.ui-state-view__description{color:var(--color-text-secondary);line-height:var(--line-height-body)}.ui-state-view--empty{border-style:dashed}.ui-state-view--error{border-color:color-mix(in srgb, var(--color-danger) 40%, var(--color-border));background:var(--color-danger-surface)}.ui-state-view--loading{align-content:center;min-height:8rem}@keyframes ui-spin{to{transform:rotate(360deg)}}.ui-tabs{gap:var(--space-2);flex-wrap:wrap;display:flex}.ui-tabs [role=tab],.ui-tabs>button{border:var(--border-width) solid transparent;border-radius:var(--radius-sm);padding:var(--space-2) var(--space-4);color:var(--color-text-secondary);font-size:var(--font-size-body-sm);font-weight:var(--font-weight-semibold);background:0 0;justify-content:center;align-items:center;display:inline-flex}.ui-tabs [role=tab][aria-selected=true],.ui-tabs>button[aria-selected=true]{color:var(--color-primary);background:var(--color-primary-tint-selected);border-color:color-mix(in srgb, var(--color-primary) 25%, transparent)}@media (prefers-reduced-motion:reduce){.ui-button__spinner{opacity:.55;border-right-color:currentColor;animation:none}}.ui-search-input{align-items:center;gap:var(--space-2);min-width:0;height:var(--control-height-sm);padding:0 var(--space-3);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-subtle);color:var(--color-text-placeholder);flex:16rem;display:flex}.ui-search-input:focus-within{border-color:var(--color-primary);background:var(--color-surface);box-shadow:0 0 0 2px var(--color-primary-surface)}.ui-search-input input{min-width:0;color:var(--color-text);font:inherit;font-size:var(--font-size-label);background:0 0;border:0;outline:none;flex:1;padding:0;line-height:1.5}.ui-search-input input::placeholder{color:var(--color-text-placeholder)}.ui-search-input input:focus,.ui-search-input input:focus-visible{box-shadow:none}.ui-search-input input::-webkit-search-cancel-button{appearance:none}.ui-search-input__clear{border-radius:var(--radius-pill);width:1.5rem;height:1.5rem;color:var(--color-text-placeholder);cursor:pointer;background:0 0;border:0;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.ui-search-input__clear:hover{background:var(--color-disabled-surface)}.ui-search-input__clear:focus-visible{box-shadow:var(--focus-ring);outline:none}.app-shell{--app-sidebar-width:var(--sidebar-width);grid-template-columns:var(--app-sidebar-width) minmax(0, 1fr);background:var(--color-background);min-block-size:100dvh;transition:grid-template-columns var(--motion-standard) var(--motion-easing);display:grid}.app-shell.is-sidebar-collapsed{--app-sidebar-width:5.25rem}.app-sidebar{z-index:40;gap:var(--space-5);min-inline-size:0;padding:var(--space-5) var(--space-3);border-inline-end:var(--border-width) solid var(--color-border);background:var(--color-surface);flex-direction:column;display:flex}.app-sidebar.is-desktop{block-size:100dvh;position:sticky;inset-block-start:0}.sidebar-brand{align-items:center;gap:var(--space-3);min-block-size:var(--control-min-size);padding-inline:var(--space-2);grid-template-columns:auto minmax(0,1fr) auto;display:grid}.sidebar-brand-mark{border-radius:var(--radius-sm);background:var(--color-surface-raised);block-size:2.25rem;inline-size:2.25rem;box-shadow:var(--shadow-xs);place-items:center;display:grid}.sidebar-brand .header-logo{block-size:1.75rem;inline-size:1.75rem}.sidebar-brand-copy,.sidebar-account-copy{min-inline-size:0;display:grid}.sidebar-brand-name,.sidebar-brand-tagline{overflow-wrap:anywhere;margin:0}.sidebar-brand-name{font-size:var(--font-size-body-sm);font-weight:var(--font-weight-bold);letter-spacing:-.01em}.sidebar-brand-tagline,.sidebar-account-label{color:var(--color-text-secondary);font-size:var(--font-size-caption)}.sidebar-nav{gap:var(--space-5);flex-direction:column;flex:1;min-block-size:0;display:flex}.sidebar-nav-scroll{align-content:start;gap:var(--space-5);scrollbar-gutter:stable;flex:1;min-block-size:0;display:grid;overflow-y:auto}.sidebar-nav-section{gap:var(--space-1);display:grid}.sidebar-nav-label{margin:0 0 var(--space-1);padding-inline:var(--space-3);color:var(--color-text-secondary);font-size:var(--font-size-caption);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-caps);text-transform:uppercase}.nav-link{min-inline-size:0;min-block-size:var(--control-min-size);align-items:center;gap:var(--space-3);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);color:var(--color-text);font:inherit;font-size:var(--font-size-body-sm);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);text-align:start;transition:color var(--motion-fast) var(--motion-easing), background-color var(--motion-fast) var(--motion-easing);background:0 0;border:0;display:flex;position:relative}.nav-link:before{inset-block:var(--space-2);border-radius:var(--radius-pill);content:"";background:0 0;inline-size:.1875rem;position:absolute;inset-inline-start:0}.nav-link:focus-visible{box-shadow:var(--focus-ring);outline:none}.nav-link.is-active{color:var(--color-primary);background:var(--color-primary-tint-selected)}.nav-link.is-active:before{background:currentColor}.nav-link-icon{inline-size:var(--icon-size-md);block-size:var(--icon-size-md);flex:none;place-items:center;display:inline-grid}.nav-link-icon svg{inline-size:var(--icon-size-md);block-size:var(--icon-size-md)}.nav-link-label{overflow-wrap:anywhere;min-inline-size:0}.sidebar-footer{align-items:center;gap:var(--space-2);border-block-start:var(--border-width) solid var(--color-border);padding-block-start:var(--space-4);display:flex;position:relative}.sidebar-account{align-items:center;gap:var(--space-3);min-inline-size:0;padding:var(--space-2);flex:1;display:flex}.sidebar-avatar{block-size:2rem;inline-size:2rem;color:var(--color-primary);background:var(--color-primary-tint-active);font-size:var(--font-size-caption);font-weight:var(--font-weight-bold);border-radius:50%;flex:none;place-items:center;display:grid}.sidebar-user{font-size:var(--font-size-body-sm);font-weight:var(--font-weight-semibold);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sidebar-logout{flex:none}.sidebar-collapse-edge{background:var(--color-surface);border-radius:50%;block-size:1.75rem;inline-size:1.75rem;position:absolute;inset-block-start:50%;inset-inline-end:calc(-1 * var(--space-3) - .875rem);transform:translateY(-50%)}.sidebar-collapse-edge svg{block-size:.875rem;inline-size:.875rem}.app-shell.is-sidebar-collapsed .sidebar-brand{grid-template-columns:1fr;justify-items:center;padding-inline:0}.app-shell.is-sidebar-collapsed .sidebar-brand-copy,.app-shell.is-sidebar-collapsed .sidebar-nav-label,.app-shell.is-sidebar-collapsed .nav-link-label,.app-shell.is-sidebar-collapsed .sidebar-account-copy{clip-path:inset(50%);white-space:nowrap;block-size:1px;inline-size:1px;position:absolute;overflow:hidden}.app-shell.is-sidebar-collapsed .nav-link{padding-inline:var(--space-2);justify-content:center}.app-shell.is-sidebar-collapsed .sidebar-account{justify-content:center;padding-inline:0}.app-main{min-inline-size:0;padding:var(--space-6)}.app-main:focus{outline:none}.app-main:focus-visible{outline:2px solid var(--color-focus);outline-offset:-2px}.page-frame{inline-size:min(100%, var(--content-max-width));min-inline-size:0;margin-inline:auto}.page-frame>.ui-notice{margin-block-end:var(--space-4)}.page-content{gap:var(--space-5);min-inline-size:0;display:grid}.hint{color:var(--color-text-secondary)}.header-logo{object-fit:contain;width:2.5rem;height:2.5rem;margin-bottom:var(--space-2)}.text-link{color:var(--color-secondary);font-weight:650;text-decoration:underline}button.text-link{color:var(--color-secondary);background:0 0;border:0;border-radius:0;padding:0;font-weight:650;display:inline}.mobile-topbar,.drawer-backdrop{display:none}@media (hover:hover){.nav-link:hover,.sidebar-logout:hover{color:var(--color-primary);background:var(--color-surface-subtle)}}@media (width<=56.1875rem){.app-shell,.app-shell.is-sidebar-collapsed{grid-template-columns:minmax(0,1fr)}.mobile-topbar{z-index:20;align-items:center;gap:var(--space-3);min-block-size:4rem;min-inline-size:0;padding:var(--space-2) var(--space-4);border-block-end:var(--border-width) solid var(--color-border);background:color-mix(in srgb, var(--color-surface) 94%, transparent);-webkit-backdrop-filter:blur(.75rem);backdrop-filter:blur(.75rem);display:flex;position:sticky;inset-block-start:0}.mobile-topbar-title{align-items:center;gap:var(--space-2);min-inline-size:0;color:var(--color-text-secondary);font-size:var(--font-size-body-sm);text-overflow:ellipsis;white-space:nowrap;display:flex;overflow:hidden}.mobile-brand{color:var(--color-text);font-weight:var(--font-weight-bold)}.app-sidebar{inline-size:min(20rem, calc(100vw - var(--space-6)));visibility:hidden;block-size:100dvh;box-shadow:var(--shadow-md);transition:transform var(--motion-standard) var(--motion-easing), visibility var(--motion-standard) step-end;position:fixed;inset:0 auto 0 0;transform:translate(-105%)}.app-sidebar.is-open{visibility:visible;transition:transform var(--motion-standard) var(--motion-easing), visibility 0s step-start;transform:translate(0)}.drawer-backdrop{z-index:30;background:var(--color-overlay);block-size:100%;inline-size:100%;box-shadow:none;cursor:default;border:0;border-radius:0;display:block;position:fixed;inset:0}.app-main{padding:var(--space-6)}}@media (width<=30rem){.mobile-topbar{padding-inline:var(--space-3)}.app-main{padding:var(--space-4)}}.auth-layout{min-block-size:100dvh;padding:var(--space-8) var(--space-4);background:var(--color-background);place-items:center;display:grid;position:relative;overflow:clip auto}.auth-layout:before{content:none}.auth-card{z-index:1;gap:var(--space-5);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);inline-size:min(100%,28rem);padding:clamp(var(--space-6), 5vw, var(--space-10));background:var(--color-surface-raised);box-shadow:var(--shadow-sm);display:grid;position:relative}.auth-brand{align-items:center;gap:var(--space-3);color:var(--color-text);font-size:var(--font-size-body-sm);font-weight:var(--font-weight-bold);letter-spacing:.01em;display:flex}.auth-logo{object-fit:contain;block-size:2.5rem;inline-size:2.5rem}.auth-card__header{gap:var(--space-2);display:grid}.auth-card__header h1,.auth-card__header p,.auth-card__privacy{margin:0}.auth-card__header h1{font-size:var(--font-size-display);line-height:var(--line-height-tight)}.auth-card__header>p:last-child,.auth-card__privacy{color:var(--color-text-secondary);line-height:var(--line-height-body)}.auth-card__fields{gap:var(--space-4);display:grid}.auth-card>.ui-button{inline-size:100%}.auth-card__privacy{border-block-start:var(--border-width) solid var(--color-border);font-size:var(--font-size-caption);padding-block-start:var(--space-4)}.auth-session-status{z-index:1;color:var(--color-text-secondary);margin:0;position:relative}.auth-panel{gap:var(--space-4);width:min(100%,27rem);display:grid}.eyebrow{margin-bottom:var(--space-1);color:var(--color-secondary);letter-spacing:var(--letter-spacing-caps);text-transform:uppercase;font-size:.8rem;font-weight:750}@media (width<=30rem){.auth-layout{padding-block:var(--space-4);align-items:start}.auth-card{padding:var(--space-6) var(--space-5);box-shadow:var(--shadow-sm)}}.form-stack{gap:var(--space-4);margin-bottom:var(--space-4);display:grid}.ui-card.form-stack,.ui-card>.form-stack{max-width:28rem}.form-actions{gap:var(--space-3);flex-wrap:wrap;display:flex}.form-actions button[type=submit],.form-actions .ui-button[type=submit]{flex:1}.form-actions .ui-button--danger{margin-inline-start:auto}.table-wrap{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:36rem}th,td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);text-align:start}th,small{color:var(--color-text-secondary)}th{text-transform:uppercase;font-size:.8rem}small{margin-top:var(--space-1);display:block}.datetime-group{align-items:center;gap:var(--space-2);min-height:var(--control-min-size);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-sm);padding:0 var(--space-1) 0 var(--space-3);background:var(--color-surface);display:flex}.datetime-group__input{min-width:0;min-height:calc(var(--control-min-size) - 2 * var(--border-width));padding:var(--space-2) 0;font:inherit;background:0 0;border:none;flex:1}.datetime-group__input:focus{outline:none}.datetime-group__now{padding:var(--space-2) var(--space-3);color:var(--color-secondary);font-weight:var(--font-weight-medium);font-size:var(--font-size-caption);background:0 0;border:0;flex:none;justify-content:center;align-items:center;display:inline-flex}.datetime-group__now:hover{background:var(--color-primary-tint-selected)}.dose-fields{gap:var(--space-2);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;display:grid}.dose-fields-divider{color:var(--color-primary);justify-content:center;align-items:center;font-size:1.1rem;display:flex}.dose-field{align-items:center;gap:var(--space-2);min-height:var(--control-min-size);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-sm);padding:0 var(--space-3);background:var(--color-surface);display:flex}.dose-field input{min-height:calc(var(--control-min-size) - 2 * var(--border-width));padding:var(--space-2) 0;font:inherit;background:0 0;border:none}.dose-field input:focus{outline:none}.dose-field.is-active,.dose-field:focus-within,.datetime-group:focus-within{border-color:var(--color-focus);box-shadow:var(--focus-ring)}.dose-field-unit{color:var(--color-text-secondary);font-size:var(--font-size-caption)}@media (width<=56.1875rem){.dose-fields{grid-template-columns:1fr}}.searchable-select{position:relative}.searchable-select__trigger{width:100%;height:var(--control-height-sm);min-height:var(--control-height-sm);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);color:var(--color-text);background:var(--color-surface);font:inherit;font-size:var(--font-size-label);font-weight:var(--font-weight-medium);text-align:start;justify-content:space-between;align-items:center;display:inline-flex}.searchable-select__trigger:focus-visible{box-shadow:var(--focus-ring);outline:none}.searchable-select__placeholder{color:var(--color-text-placeholder)}.searchable-select__chevron{width:1rem;height:1rem;color:var(--color-text-secondary);flex-shrink:0}.searchable-select__backdrop{display:none}.searchable-select__panel{z-index:var(--z-popover);gap:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-2);background:var(--color-surface);box-shadow:var(--shadow-md);display:grid;position:absolute;top:calc(100% + .35rem);left:0;right:0}.searchable-select__search{align-items:center;gap:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:0 var(--space-2);color:var(--color-text-secondary);display:flex}.searchable-select__search svg{flex-shrink:0;width:.9rem;height:.9rem}.searchable-select__search input{padding:var(--space-2) 0;background:0 0;border:none}.searchable-select__search input:focus{outline:none}.searchable-select__options{gap:var(--space-1);max-height:14rem;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.searchable-select__empty{padding:var(--space-2);color:var(--color-text-secondary);font-size:var(--font-size-label)}.searchable-select__option{width:100%;height:var(--control-height-sm);border-radius:var(--radius-sm);min-width:0;padding:0 calc(var(--space-2) + 2px);color:var(--color-text);font-weight:var(--font-weight-regular);font-size:var(--font-size-label);text-align:start;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;display:flex;overflow:hidden}.searchable-select__option:hover,.searchable-select__option.is-active{background:var(--color-row-hover)}.searchable-select__option[aria-selected=true]:not(.is-active){background:var(--color-primary-surface)}.searchable-select__option:focus-visible{background:var(--color-row-hover);outline:none}.searchable-select__option--action{margin-top:var(--space-1);border-top:1px solid var(--color-border);color:var(--color-primary);font-weight:var(--font-weight-semibold);border-radius:0}.searchable-select__option svg{width:.9rem;height:.9rem;color:var(--color-primary);flex-shrink:0}@media (width<=30rem){.searchable-select__backdrop{z-index:calc(var(--z-popover) + 1);background:var(--color-overlay);box-shadow:none;border:0;border-radius:0;display:block;position:fixed;inset:0}.searchable-select__panel{z-index:calc(var(--z-popover) + 2);border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:var(--space-3);max-height:70vh;position:fixed;inset:auto 0 0}.searchable-select__options{max-height:50vh}}.menu-select{display:inline-flex;position:relative}.menu-select__trigger{align-items:center;gap:var(--space-2);height:var(--control-height-sm);border:var(--border-width) solid transparent;border-radius:var(--radius-md);padding:0 var(--space-3);font:inherit;font-size:var(--font-size-label);font-weight:var(--font-weight-medium);color:var(--color-text);background:var(--color-surface);cursor:pointer;transition:background-color var(--motion-fast) var(--motion-easing), border-color var(--motion-fast) var(--motion-easing), color var(--motion-fast) var(--motion-easing);display:inline-flex}.menu-select__trigger--outlined{border-color:var(--color-border-strong);padding:0 var(--space-3)}.menu-select__trigger--ghost{gap:calc(var(--space-2) - 2px);padding:0 calc(var(--space-2) + 2px);font-weight:var(--font-weight-regular);background:0 0;border-color:#0000}.menu-select__trigger:hover{background:var(--color-row-hover)}.menu-select__trigger--outlined:hover{border-color:var(--color-text-placeholder)}.menu-select__trigger:active{background:var(--color-disabled-surface);transform:none}.menu-select__trigger[aria-disabled=true]{color:var(--color-text-disabled);cursor:default}.menu-select__trigger[aria-disabled=true]:hover,.menu-select__trigger[aria-disabled=true]:active{background:var(--color-surface);transform:none}.menu-select__trigger--ghost[aria-disabled=true]:hover,.menu-select__trigger--ghost[aria-disabled=true]:active{background:0 0}.menu-select__trigger:focus-visible{box-shadow:var(--focus-ring);outline:none}.menu-select__trigger.is-open,.menu-select__trigger--emphasized{border-color:var(--color-primary)}.menu-select__trigger--emphasized .menu-select__leading-icon{color:var(--color-primary)}.menu-select__leading-icon{color:var(--color-text-secondary);flex:none;display:inline-flex}.menu-select__label{text-align:left;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.menu-select__chevron{color:var(--color-text-secondary);transition:transform var(--motion-fast) var(--motion-easing);flex:none;margin-left:auto}.menu-select__trigger.is-open .menu-select__chevron{transform:rotate(180deg)}.menu-select__panel{top:calc(100% + var(--space-2) - 2px);z-index:var(--z-popover);min-width:100%;padding:calc(var(--space-2) - 2px);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface-raised);box-shadow:var(--shadow-md);animation:menu-select-in var(--motion-fast) ease-out;position:absolute;left:0}.menu-select__panel--align-end{left:auto;right:0}.menu-select__divider{height:1px;margin:calc(var(--space-2) - 2px) var(--space-2);background:var(--color-border)}.menu-select__item{align-items:center;gap:var(--space-2);width:100%;height:var(--control-height-sm);padding:0 calc(var(--space-2) + 2px);border-radius:var(--radius-sm);color:var(--color-text);font:inherit;font-size:var(--font-size-label);font-weight:var(--font-weight-regular);text-align:left;cursor:pointer;background:0 0;border:0;display:flex}.menu-select__item:hover,.menu-select__item:focus-visible,.menu-select__item.is-active{background:var(--color-row-hover);outline:none}.menu-select__item--selected,.menu-select__item--selected:hover,.menu-select__item--selected:focus-visible,.menu-select__item--selected.is-active{background:var(--color-primary-surface);color:var(--color-text)}.menu-select__item--selected svg{color:var(--color-primary);flex:none}.menu-select__check-spacer{width:var(--icon-size-sm);height:var(--icon-size-sm);flex:none}@keyframes menu-select-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.menu-select__panel{animation:none}.menu-select__chevron{transition:none}}.action-menu{display:inline-flex;position:relative}.action-menu__trigger{width:var(--control-height-sm);height:var(--control-height-sm);border:var(--border-width) solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-secondary);cursor:pointer;transition:background-color var(--motion-fast) var(--motion-easing), border-color var(--motion-fast) var(--motion-easing);justify-content:center;align-items:center;padding:0;display:inline-flex}.action-menu__trigger--sm{border-radius:var(--radius-sm);width:2rem;height:2rem}.action-menu__trigger:hover{background:var(--color-row-hover);border-color:var(--color-text-placeholder)}.action-menu__trigger:active{background:var(--color-disabled-surface)}.action-menu__trigger:focus-visible{box-shadow:var(--focus-ring);outline:none}.action-menu__trigger.is-open{border-color:var(--color-primary)}.action-menu__panel{top:calc(100% + var(--space-2) - 2px);z-index:40;min-width:200px;padding:calc(var(--space-2) - 2px);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface-raised);box-shadow:var(--shadow-md);animation:action-menu-in var(--motion-fast) ease-out;position:absolute;left:0}.action-menu__panel--align-end{left:auto;right:0}.action-menu__divider{height:1px;margin:calc(var(--space-2) - 2px) var(--space-2);background:var(--color-border)}.action-menu__item{align-items:center;gap:var(--space-2);width:100%;height:var(--control-height-sm);padding:0 calc(var(--space-2) + 2px);border-radius:var(--radius-sm);color:var(--color-text);font:inherit;font-size:var(--font-size-label);font-weight:var(--font-weight-regular);text-align:left;cursor:pointer;background:0 0;border:0;text-decoration:none;display:flex}.action-menu__item:hover,.action-menu__item:focus-visible,.action-menu__item.is-active{background:var(--color-row-hover);outline:none}.action-menu__item-icon{color:var(--color-text-secondary);flex:none;display:inline-flex}.action-menu__item-icon svg{width:var(--icon-size-sm);height:var(--icon-size-sm)}.action-menu__item--danger,.action-menu__item--danger .action-menu__item-icon{color:var(--color-danger-text)}.action-menu__item--danger:hover,.action-menu__item--danger:focus-visible,.action-menu__item--danger.is-active{background:var(--color-danger-surface)}@keyframes action-menu-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.action-menu__panel{animation:none}}.ui-segmented{padding:calc(var(--space-1) / 2);border-radius:var(--radius-md);background:var(--color-background);align-items:center;gap:0;display:inline-flex}.ui-segmented--md{height:var(--control-height-sm)}.ui-segmented--sm{height:2rem}.ui-segmented__option{border-radius:var(--radius-sm);color:var(--color-text-secondary);font:inherit;font-weight:var(--font-weight-medium);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;margin:0;display:inline-flex}.ui-segmented--md .ui-segmented__option{height:2rem;padding:0 var(--space-3);font-size:var(--font-size-label)}.ui-segmented--sm .ui-segmented__option{height:1.75rem;padding:0 calc(var(--space-2) + 2px);font-size:var(--font-size-caption)}.ui-segmented__option:hover:not(.is-selected){color:var(--color-text)}.ui-segmented__option.is-selected{background:var(--color-surface);color:var(--color-text)}.ui-segmented__option:focus-visible{box-shadow:var(--focus-ring);outline:none}.ui-segmented__option:disabled{color:var(--color-disabled-text);cursor:not-allowed}.ui-segmented__option.is-selected:disabled{background:var(--color-disabled-surface);color:var(--color-disabled-text)}.ui-toggle-group{gap:var(--space-1);display:flex}.ui-toggle-group__option{border:var(--border-width) solid var(--color-border);border-radius:var(--radius-sm);width:2rem;height:2rem;color:var(--color-text-secondary);font:inherit;font-size:var(--font-size-caption);font-weight:var(--font-weight-regular);cursor:pointer;background:0 0;justify-content:center;align-items:center;margin:0;padding:0;display:inline-flex}.ui-toggle-group__option:hover:not(.is-selected){background:var(--color-row-hover);border-color:var(--color-border-strong)}.ui-toggle-group__option.is-selected{background:var(--color-primary);color:var(--color-primary-text);font-weight:var(--font-weight-medium);border-color:#0000}.ui-toggle-group__option:focus-visible{box-shadow:var(--focus-ring);outline:none}.ui-toggle-group--error .ui-toggle-group__option:not(.is-selected){border-color:var(--color-danger)}.settings-hub,.clinical-form-page{inline-size:min(100%, var(--content-max-width))}.settings-grid{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.settings-card{align-items:start;gap:var(--space-4);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);min-block-size:7.5rem;padding:var(--space-5);background:var(--color-surface-raised);box-shadow:var(--shadow-xs);transition:border-color var(--motion-fast) var(--motion-easing), box-shadow var(--motion-fast) var(--motion-easing), transform var(--motion-fast) var(--motion-easing);grid-template-columns:auto minmax(0,1fr) auto;display:grid}.settings-card:focus-visible{box-shadow:var(--focus-ring), var(--shadow-sm);outline:none}.settings-card__index{border-radius:var(--radius-sm);block-size:2.5rem;inline-size:2.5rem;color:var(--color-primary);background:var(--color-primary-tint-selected);font-size:var(--font-size-body-sm);font-weight:var(--font-weight-semibold);place-items:center;display:grid}.settings-card__index svg{inline-size:var(--icon-size-md);block-size:var(--icon-size-md)}.settings-card__content{gap:var(--space-2);min-inline-size:0;display:grid}.settings-card h2,.settings-card p{margin:0}.settings-card h2{font-size:var(--font-size-title-sm)}.settings-card p{color:var(--color-text-secondary);line-height:var(--line-height-body)}.settings-card__arrow{color:var(--color-primary);font-size:var(--font-size-body);place-items:center;line-height:1;display:grid}.settings-card__arrow svg{inline-size:var(--icon-size-sm);block-size:var(--icon-size-sm)}@media (hover:hover){.settings-card:hover{border-color:var(--color-border-strong);background:var(--color-surface-subtle);box-shadow:var(--shadow-xs)}}.clinical-form-page{max-inline-size:62rem}.clinical-form{gap:var(--space-5);border-radius:var(--radius-md);max-inline-size:42rem;padding:clamp(var(--space-4), 3vw, var(--space-6));background:var(--color-surface-raised);box-shadow:var(--shadow-sm);margin:0}.clinical-form:before{color:var(--color-text-secondary);font-size:var(--font-size-caption);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-caps);text-transform:uppercase;content:"Основные данные"}.clinical-form .form-actions,.clinical-form-page .ui-card.form-stack .form-actions{border-block-start:var(--border-width) solid var(--color-border);justify-content:flex-end;align-items:center;margin-block-start:var(--space-2);padding-block-start:var(--space-5)}.clinical-form .form-actions button[type=submit],.clinical-form-page .ui-card.form-stack .form-actions button[type=submit]{min-block-size:var(--control-min-size);padding-inline:var(--space-5);flex:0 auto}@media (width<=46rem){.settings-grid{grid-template-columns:1fr}.settings-card{min-block-size:auto}}@media (width<=40rem){.clinical-form{padding:var(--space-5)}.clinical-form .form-actions{flex-direction:column;align-items:stretch}.clinical-form .form-actions>*{inline-size:100%;margin-inline:0}}@media (prefers-reduced-motion:reduce){.settings-card{transition:none}}.medication-recipe-picker{gap:var(--space-2);margin-block-end:var(--space-5);display:grid}.medication-recipe-picker__hint{color:var(--color-text-secondary);font-size:var(--font-size-body-sm);margin:0}.medication-components{gap:var(--space-4);display:grid}.medication-components__header{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.medication-components__header .page-card__section-title{margin:0}.medication-components__list{gap:var(--space-4);display:grid}.medication-components__row{gap:var(--space-3);padding:var(--space-4);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-subtle);display:grid}.medication-components__actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.medication-components__row-error{color:var(--color-danger);font-size:var(--font-size-body-sm);margin:0}.medication-change-dialog{max-inline-size:36rem}.medication-change-dialog__body{gap:var(--space-4);display:grid}.medication-change-dialog__stats{gap:var(--space-3);margin:0;display:grid}.medication-change-dialog__stats div{gap:var(--space-1);display:grid}.medication-change-dialog__stats dt{color:var(--color-text-secondary);font-size:var(--font-size-caption);font-weight:var(--font-weight-medium)}.medication-change-dialog__stats dd{font-variant-numeric:tabular-nums;margin:0}.medication-change-dialog__intents{gap:var(--space-3);border:0;margin:0;padding:0;display:grid}.medication-change-dialog__intent{gap:var(--space-1);padding:var(--space-3);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;display:grid}.medication-change-dialog__intent:has(input:checked){border-color:var(--color-primary);background:var(--color-primary-surface)}.medication-change-dialog__intent-title{font-weight:var(--font-weight-semibold)}.medication-change-dialog__intent-description{color:var(--color-text-secondary);font-size:var(--font-size-body-sm)}.medication-change-dialog__date{gap:var(--space-2);display:grid}.medication-change-dialog__error{color:var(--color-danger);margin:0}.medication-change-dialog__loading{color:var(--color-text-secondary);margin:0}.composition-detail{gap:var(--space-1);color:var(--color-text-secondary);font-size:var(--font-size-body-sm);display:grid}.confirm-dialog-backdrop{z-index:80;padding:var(--space-4);background:var(--color-overlay);place-items:center;display:grid;position:fixed;inset:0}.confirm-dialog{gap:var(--space-4);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);inline-size:min(100%,30rem);padding:var(--space-5);background:var(--color-surface-raised);box-shadow:var(--shadow-md);text-align:start;display:grid}.confirm-dialog h2{font-size:var(--font-size-title-sm);margin:0}.confirm-dialog__body{color:var(--color-text-secondary);line-height:var(--line-height-body)}.confirm-dialog__body p{margin:0 0 var(--space-2)}.confirm-dialog__body p:last-child{margin-bottom:0}.confirm-dialog__actions{justify-content:flex-end;gap:var(--space-3);flex-wrap:wrap;display:flex}.labs-metric-actions{gap:var(--space-1);flex-wrap:nowrap;justify-content:flex-end;display:flex}.labs-period-range{align-items:center;gap:var(--space-1);flex-wrap:nowrap;display:flex}.labs-period-range input[type=date]{flex:1 1 0;min-width:0}.labs-period-range__sep{color:var(--color-text-secondary);flex:none}.labs-readonly-list{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.labs-readonly-list li{gap:var(--space-1);display:grid}.labs-readonly-list strong{font-weight:var(--font-weight-medium)}.labs-unit-table{width:100%}.labs-unit-table th,.labs-unit-table td{white-space:nowrap}.labs-back-link{align-items:center;gap:var(--space-1);color:var(--color-text-secondary);font-size:var(--font-size-body-sm);text-decoration:none;display:inline-flex}.labs-back-link:hover{color:var(--color-primary)}.labs-form-modal{text-align:start}.labs-form-modal .form-grid{gap:var(--space-4);grid-template-columns:1fr 1fr;display:grid}.labs-form-modal .form-grid__full{grid-column:1/-1}.labs-panel-head{justify-content:space-between;align-items:center;gap:var(--space-3);margin-block:0 var(--space-3);flex-wrap:wrap;padding:0;display:flex}.labs-panel-head h2,.labs-panel-head h3{margin:0}.labs-regimen-context{margin-block-end:var(--space-5)}.labs-regimen-context__list{gap:var(--space-4);margin:0;padding:0;list-style:none;display:grid}.labs-regimen-context__item{gap:var(--space-2);display:grid}.labs-regimen-context__meta{gap:var(--space-1);color:var(--color-text-secondary);font-size:var(--font-size-body-sm);display:grid}.labs-regimen-context__phase{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.labs-regimen-context__phase-note{color:var(--color-text-secondary)}.labs-result-row--linked-substance{background:var(--color-primary-tint-hover)}.labs-history-chart{margin-block-end:var(--space-4)}.labs-history-chart__legend{gap:var(--space-4);color:var(--color-text-secondary);font-size:var(--font-size-caption);flex-wrap:wrap;margin-block-end:var(--space-3);display:flex}.labs-history-chart__legend span{align-items:center;gap:var(--space-1);display:inline-flex}.labs-history-chart__legend-mark{background:var(--color-chart-1);border-radius:50%;block-size:.75rem;inline-size:.75rem;display:inline-block}.labs-history-chart__legend-mark--corridor{border:var(--border-width) dashed var(--color-success);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--color-success) 9%, transparent)}.labs-history-chart__legend-mark--out{background:var(--color-danger-text);border-radius:0}.labs-history-chart__legend-mark--none{background:var(--color-text-secondary)}.labs-history-chart__canvas{block-size:min(32rem,55vw);min-block-size:18rem;position:relative}.labs-history-chart__annotation-controls{gap:var(--space-3);margin-block-end:var(--space-3);display:grid}.labs-history-chart__annotation-toggle{align-items:center;gap:var(--space-2);color:var(--color-text-primary);font-size:var(--font-size-body-sm);display:inline-flex}.labs-history-chart__substance-picker{border:0;margin:0;padding:0}.labs-history-chart__substance-picker legend{color:var(--color-text-secondary);font-size:var(--font-size-caption);margin-block-end:var(--space-2)}.labs-history-chart__substance-list{gap:var(--space-3);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.labs-history-chart__substance-list label{align-items:center;gap:var(--space-2);color:var(--color-text-primary);font-size:var(--font-size-body-sm);display:inline-flex}.labs-history-chart__substance-hint{margin:var(--space-2) 0 0;color:var(--color-text-secondary);font-size:var(--font-size-caption)}.labs-history-chart__legend-mark--substance{border-radius:var(--radius-sm)}.labs-history-chart__legend-mark--pause{background:color-mix(in srgb, var(--color-chart-2) 18%, transparent);border:var(--border-width) solid var(--color-chart-2);border-radius:0}.labs-history-chart__annotation-tooltip{max-inline-size:min(20rem,90%);padding:var(--space-2) var(--space-3);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-primary);font-size:var(--font-size-caption);pointer-events:none;box-shadow:var(--shadow-sm);position:absolute;inset-block-start:var(--space-2);inset-inline-end:var(--space-2)}.labs-history-chart__annotation-summary{margin-block:var(--space-4)}.labs-history-chart__annotation-summary-title{margin:0 0 var(--space-2);font-size:var(--font-size-body-sm)}.labs-history-chart__annotation-summary-list{gap:var(--space-3);color:var(--color-text-secondary);font-size:var(--font-size-body-sm);margin:0;padding-inline-start:var(--space-4);display:grid}.labs-history-chart__annotation-summary-list ul{margin:var(--space-1) 0 0;padding-inline-start:var(--space-4)}.labs-history-chart__note{margin-block:0 var(--space-4);color:var(--color-text-secondary);font-size:var(--font-size-caption)}.labs-settings-grid{gap:var(--space-4);grid-template-columns:1fr 1fr;align-items:start;display:grid}@media (width<=68.75rem){.labs-settings-grid{grid-template-columns:1fr}}.labs-form-page .form-stack{gap:var(--space-5);max-inline-size:42rem}.labs-form-page .form-stack .form-actions{border-block-start:var(--border-width) solid var(--color-border);justify-content:flex-end;align-items:center;margin-block-start:var(--space-2);padding-block-start:var(--space-5)}.labs-form-page .form-actions button[type=submit],.labs-form-page .form-actions .ui-button[type=submit]{padding-inline:var(--space-5);flex:0 auto}@media (width<=46rem){.labs-form-page .form-actions{flex-direction:column;align-items:stretch}.labs-form-page .form-actions>*{inline-size:100%;margin-inline:0}}@media (width<=30rem){.labs-form-page .form-actions .ui-button{min-height:var(--control-min-size)}}.labs-switch{border-radius:var(--radius-pill);background:var(--color-border-strong);cursor:pointer;block-size:1.375rem;inline-size:2.5rem;transition:background var(--motion-standard) var(--motion-easing);border:none;align-items:center;padding:0;display:inline-flex;position:relative}.labs-switch:after{content:"";background:var(--color-surface);block-size:1.125rem;inline-size:1.125rem;transition:left var(--motion-standard) var(--motion-easing);border-radius:50%;position:absolute;top:.125rem;left:.125rem}.labs-switch[aria-checked=true]{background:var(--color-primary)}.labs-switch[aria-checked=true]:after{left:1.25rem}.labs-switch:disabled{opacity:.6;cursor:not-allowed}.labs-switch-row{align-items:center;gap:var(--space-2);display:inline-flex}.labs-table-footer{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);color:var(--color-text-secondary);flex-wrap:wrap;display:flex}.labs-preview{gap:var(--space-2);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);background:var(--color-surface-subtle);margin-block-start:var(--space-3);display:grid}.labs-preview__recalculated{color:var(--color-text-secondary);font-weight:var(--font-weight-regular)}.ui-drawer-backdrop{z-index:80;background:var(--color-overlay);justify-content:flex-end;display:flex;position:fixed;inset:0}.ui-drawer{gap:var(--space-4);border-inline-start:var(--border-width) solid var(--color-border);block-size:100%;inline-size:min(560px,100%);padding:var(--space-5);background:var(--color-surface-raised);box-shadow:var(--shadow-md);animation:ui-drawer-slide-in var(--motion-standard) var(--motion-easing);flex-direction:column;display:flex;overflow-y:auto}@media (prefers-reduced-motion:reduce){.ui-drawer{animation:none}}@keyframes ui-drawer-slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}.ui-drawer__head{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.ui-drawer__head h2{margin:0}.labs-reports-table td{white-space:nowrap;inline-size:1%}.labs-reports-table th{white-space:normal}td.labs-reports-table__title,th.labs-reports-table__title{white-space:normal;inline-size:100%}td.labs-reports-table__lab{white-space:normal}.labs-metric-actions .ui-icon-button:focus-visible{z-index:1;position:relative}.labs-table .text-link{color:inherit;font-weight:inherit;text-decoration:none}.labs-table .text-link:hover,.labs-table .text-link:focus-visible{text-decoration:underline}.labs-table--clickable tbody tr{cursor:pointer}.labs-section-nav{margin-block-end:var(--space-4)}.labs-section-nav .ui-segmented__option{text-decoration:none}.labs-summary-tiles{gap:var(--space-3);grid-template-columns:repeat(4,minmax(0,1fr));margin-block-end:var(--space-4);display:grid}.labs-summary-tiles--auto{grid-template-columns:repeat(auto-fit,minmax(11rem,1fr))}.labs-summary-tile{text-align:inherit;font:inherit;cursor:pointer;background:0 0;border:0;margin:0;padding:0}.labs-summary-tile:disabled{cursor:default}.labs-summary-tile:not(:disabled):focus-visible .ui-metric-card{box-shadow:var(--focus-ring)}.labs-summary-table{table-layout:fixed}.labs-summary-table__col-metric{width:40%}.labs-summary-table__col-latest{width:22%}.labs-summary-table__col-previous{width:20%}.labs-summary-table__col-trend{width:9.5rem}.labs-summary-tile[aria-pressed=true] .ui-metric-card{border-color:var(--color-primary);background:var(--color-primary-tint-selected)}.labs-value-cell{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.labs-value-cell .labs-value{text-overflow:ellipsis;white-space:nowrap;min-width:5ch;overflow:hidden}.labs-value{font-size:var(--font-size-title-sm);font-weight:var(--font-weight-semibold);display:block}.labs-value--out-of-range{color:var(--color-danger-text)}.labs-summary__date{align-items:center;gap:var(--space-1);color:var(--color-text-secondary);font-size:var(--font-size-caption);display:inline-flex}.labs-summary__date--stale{color:var(--color-warning)}.labs-summary__previous-line{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.labs-summary__previous{color:var(--color-text-secondary);display:block}.labs-summary__delta{align-items:center;gap:var(--space-1);padding:calc(var(--space-1) / 2) var(--space-2);border-radius:var(--radius-pill);background:var(--color-surface-subtle);color:var(--color-text-secondary);font-size:var(--font-size-caption);font-weight:var(--font-weight-medium);display:inline-flex}.labs-summary__delta--success{color:var(--color-success)}.labs-summary__delta--danger{color:var(--color-danger-text)}.labs-summary__truncated{margin-block:var(--space-3) 0;color:var(--color-text-secondary);font-size:var(--font-size-caption)}.labs-summary-skeleton{gap:var(--space-2);min-block-size:18rem;padding:var(--space-4);display:grid}.labs-summary-skeleton__row{border-radius:var(--radius-sm);background:var(--color-surface-subtle);block-size:4rem}.labs-range-bar{display:block}.labs-value-cell .labs-range-bar{flex:none;margin-left:auto}.labs-range-bar__track{fill:var(--color-border)}.labs-range-bar__corridor{fill:color-mix(in srgb, var(--color-success) 22%, transparent)}.labs-range-bar__marker{fill:var(--color-text-secondary)}.labs-range-bar__marker--in-range{fill:var(--color-success)}.labs-range-bar__marker--below-range,.labs-range-bar__marker--above-range{fill:var(--color-danger-text)}.labs-sparkline{display:block}.labs-sparkline__corridor{fill:color-mix(in srgb, var(--color-success) 9%, transparent)}.labs-sparkline__line{stroke:var(--color-text-secondary);stroke-width:1.5px}.labs-sparkline__point{fill:var(--color-text-secondary)}.labs-sparkline__point--in-range{fill:var(--color-success)}.labs-sparkline__point--below-range,.labs-sparkline__point--above-range{fill:var(--color-danger-text)}.labs-sparkline__point--no-reference{fill:var(--color-text-secondary)}@media (width<=64rem){.labs-summary-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}.regimens-page__filters{gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap;align-items:end;display:flex}.regimens-page__filter{gap:var(--space-1);font-size:var(--font-size-label);color:var(--color-text-secondary);flex-direction:column;display:flex}.regimens-page__filter input[type=date]{min-height:var(--control-height-sm);padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text)}.regimens-timeline{gap:var(--space-3);flex-direction:column;width:100%;max-width:100%;display:flex;overflow-x:hidden}.regimens-timeline__axis{gap:var(--space-3);font-size:var(--font-size-caption);color:var(--color-text-secondary);grid-template-columns:9rem minmax(0,1fr);display:grid}.regimens-timeline__axis-dates{justify-content:space-between;gap:var(--space-3);display:flex}.regimens-timeline__track{gap:var(--space-3);grid-template-columns:9rem minmax(0,1fr);align-items:center;display:grid}.regimens-timeline__track-label{font-size:var(--font-size-body-sm);font-weight:var(--font-weight-medium);color:var(--color-text)}.regimens-timeline__lane{min-height:var(--row-min-height);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-subtle);position:relative;overflow:hidden}.regimens-timeline__segment,.regimens-timeline__pause{top:var(--space-2);bottom:var(--space-2);min-width:var(--space-1);border-radius:var(--radius-sm);position:absolute}.regimens-timeline__segment{justify-content:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);background:color-mix(in srgb, var(--track-color) 24%, var(--color-surface));border:1px solid color-mix(in srgb, var(--track-color) 55%, var(--color-border));color:var(--color-text);outline-offset:var(--focus-ring-offset);cursor:pointer;flex-direction:column;display:flex}.regimens-timeline__segment:focus-visible,.regimens-timeline__pause:focus-visible,.regimens-timeline__lab-point:focus-visible{outline:var(--focus-ring-width) solid var(--color-focus)}.regimens-timeline__segment--indeterminate{opacity:.72;border-style:dashed}.regimens-timeline__segment--episodic{background:color-mix(in srgb, var(--track-color) 14%, var(--color-surface));border-style:dashed;border-width:2px}.regimens-timeline__segment--unknown{background:color-mix(in srgb, var(--color-warning) 12%, var(--color-surface));border-style:dotted;border-width:2px}.regimens-timeline__segment--missing-data{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--color-warning) 45%, transparent)}.regimens-timeline__segment--selected{box-shadow:0 0 0 2px var(--color-primary);background:color-mix(in srgb, var(--track-color) 36%, var(--color-surface))}.regimens-timeline__segment-label,.regimens-timeline__segment-note,.regimens-timeline__protocol-link{font-size:var(--font-size-caption);line-height:var(--line-height-tight);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.regimens-timeline__segment-note{color:var(--color-warning)}.regimens-timeline__pause{background:color-mix(in srgb, var(--track-color) 10%, var(--color-surface-subtle));border:1px dashed color-mix(in srgb, var(--track-color) 40%, var(--color-border))}.regimens-timeline__track--labs .regimens-timeline__lane{min-height:var(--control-min-size)}.regimens-timeline__lab-point{align-items:center;gap:var(--space-1);color:var(--color-text-secondary);flex-direction:column;text-decoration:none;display:inline-flex;position:absolute;top:50%;transform:translate(-50%,-50%)}.regimens-timeline__lab-point-dot{width:var(--space-3);height:var(--space-3);border-radius:var(--radius-pill);background:var(--color-primary);border:2px solid var(--color-surface);box-shadow:0 0 0 1px var(--color-primary)}.regimens-timeline__lab-point-label{font-size:var(--font-size-caption);white-space:nowrap}@media (width<=40rem){.regimens-timeline__axis,.regimens-timeline__track{grid-template-columns:1fr}.regimens-timeline__track-label{margin-bottom:calc(var(--space-1) * -1)}}.regimens-compare{margin-top:var(--space-6);gap:var(--space-4);flex-direction:column;display:flex}.regimens-compare__header{justify-content:space-between;align-items:start;gap:var(--space-3);flex-wrap:wrap;display:flex}.regimens-compare__title{font-size:var(--font-size-title-sm);font-weight:var(--font-weight-semibold);margin:0}.regimens-compare__subtitle{margin:var(--space-1) 0 0;color:var(--color-text-secondary);font-size:var(--font-size-body-sm)}.regimens-compare__courses{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.regimens-compare__course{gap:var(--space-1);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-subtle);flex-direction:column;display:flex}.regimens-compare__course-title{font-size:var(--font-size-caption);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.04em}.regimens-compare__course-period{font-weight:var(--font-weight-medium)}.regimens-compare__course-dose{font-size:var(--font-size-body-sm);color:var(--color-text-secondary)}.regimens-compare__table-wrap{overflow-x:auto}.regimens-compare__point{align-items:flex-start;gap:var(--space-1);flex-direction:column;display:flex}.regimens-compare__point-date{font-size:var(--font-size-caption);color:var(--color-text-secondary)}.regimens-compare__transitional{margin-top:var(--space-1);font-size:var(--font-size-caption);color:var(--color-warning)}@media (width<=40rem){.regimens-compare__courses{grid-template-columns:1fr}}
