.icon{flex-shrink:0}.icon-xs{width:var(--icon-xs);height:var(--icon-xs)}.icon-sm{width:var(--icon-sm);height:var(--icon-sm)}.icon-md{width:var(--icon-md);height:var(--icon-md)}.icon-lg{width:var(--icon-lg);height:var(--icon-lg)}.icon-xl{width:var(--icon-xl);height:var(--icon-xl)}.icon-default{color:var(--color-text)}.icon-muted{color:var(--color-text-muted)}.icon-subtle{color:var(--color-text-subtle)}.icon-brand{color:var(--color-brand-ink)}.icon-danger{color:var(--color-danger)}.icon-success{color:var(--color-success)}.icon-warning{color:var(--color-warning)}.icon-info{color:var(--color-info)}.icon-inverse{color:var(--color-text-inverse)}.icon-inherit{color:inherit}
.alert{border-radius:var(--radius-md);font-size:var(--text-sm);line-height:var(--leading-normal);border:1px solid #0000;align-items:flex-start;gap:.75rem;padding:.875rem 1rem;display:flex}.alert-icon{margin-block-start:.125rem}.alert-body{flex-direction:column;gap:.25rem;min-width:0;display:flex}.alert-title{font-weight:var(--weight-semibold)}.alert-content{min-width:0}.alert-info{background:var(--color-info-soft);color:var(--color-info-soft-text);border-color:color-mix(in srgb, var(--color-info-soft-text) 20%, transparent)}.alert-success{background:var(--color-success-soft);color:var(--color-success-soft-text);border-color:color-mix(in srgb, var(--color-success-soft-text) 20%, transparent)}.alert-warning{background:var(--color-warning-soft);color:var(--color-warning-soft-text);border-color:color-mix(in srgb, var(--color-warning-soft-text) 20%, transparent)}.alert-danger{background:var(--color-danger-soft);color:var(--color-danger-soft-text);border-color:color-mix(in srgb, var(--color-danger-soft-text) 20%, transparent)}
.avatar{border-radius:var(--radius-full);border:1px solid var(--color-border);background:var(--color-surface-sunken);color:var(--color-text-muted);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;position:relative;overflow:hidden}.avatar-xs{width:1.5rem;height:1.5rem}.avatar-sm{width:2rem;height:2rem}.avatar-md{width:2.5rem;height:2.5rem}.avatar-lg{width:4rem;height:4rem}.avatar[data-photo]{background:0 0;border-color:#0000}.avatar-img{object-fit:cover}.avatar-initials{font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:.02em;line-height:1}.avatar-lg .avatar-initials{font-size:var(--text-lg)}
.badge{border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--weight-medium);line-height:var(--leading-snug);white-space:nowrap;align-items:center;gap:.375rem;padding:.1875rem .625rem;display:inline-flex}.badge-neutral{background:var(--color-surface-sunken);color:var(--color-text-muted)}.badge-brand{background:var(--color-brand-soft);color:var(--color-brand-soft-text)}.badge-success{background:var(--color-success-soft);color:var(--color-success-soft-text)}.badge-warning{background:var(--color-warning-soft);color:var(--color-warning-soft-text)}.badge-danger{background:var(--color-danger-soft);color:var(--color-danger-soft-text)}.badge-info{background:var(--color-info-soft);color:var(--color-info-soft-text)}
.spinner{border-radius:var(--radius-full);border-style:solid;border-color:color-mix(in srgb, currentColor 25%, transparent);border-block-start-color:currentColor;animation:.7s linear infinite spinner-spin;display:inline-block}.spinner-sm{width:var(--icon-sm);height:var(--icon-sm);border-width:2px}.spinner-md{width:var(--icon-md);height:var(--icon-md);border-width:2px}.spinner-lg{width:var(--icon-xl);height:var(--icon-xl);border-width:3px}.spinner-brand{color:var(--color-brand-ink)}.spinner-muted{color:var(--color-text-subtle)}.spinner-inverse{color:var(--color-text-inverse)}@keyframes spinner-spin{to{transform:rotate(360deg)}}
.button{border-radius:var(--button-radius);font-family:var(--font-display);font-weight:var(--weight-bold);cursor:pointer;white-space:nowrap;transition:background-color var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast), box-shadow var(--transition-fast);border:1px solid #0000;justify-content:center;align-items:center;gap:.5rem;text-decoration:none;display:inline-flex}.button:focus-visible{box-shadow:var(--focus-ring);outline:none}.button:disabled{cursor:not-allowed;opacity:.55}.button-label{display:inline-block}.button-sm{height:var(--control-height-sm);font-size:var(--text-sm);padding-inline:.75rem}.button-md{height:var(--control-height-md);font-size:var(--text-md);padding-inline:1rem}.button-lg{height:var(--control-height-lg);font-size:var(--text-lg);padding-inline:1.5rem}.button-full-width{width:100%}.button-primary{background:var(--color-brand);color:var(--color-on-brand)}.button-primary:hover:not(:disabled){background:var(--color-brand-hover)}.button-primary:active:not(:disabled){background:var(--color-brand-active)}.button-secondary{background:var(--color-surface);color:var(--color-text);border-color:var(--color-border-strong);box-shadow:var(--shadow-xs)}.button-secondary:hover:not(:disabled){background:var(--color-surface-sunken)}.button-secondary:active:not(:disabled){background:var(--color-border)}.button-ghost{color:var(--color-text-muted);background:0 0}.button-ghost:hover:not(:disabled){background:var(--color-surface-sunken);color:var(--color-text)}.button-danger{background:var(--color-danger);color:var(--color-text-inverse)}.button-danger:hover:not(:disabled){background:var(--color-danger-hover)}.button-danger:focus-visible{box-shadow:var(--focus-ring-danger)}
.camera-frame{aspect-ratio:1;border-radius:var(--radius-lg);background:var(--color-surface-sunken);width:100%;position:relative;overflow:hidden}.camera-frame-video{object-fit:cover;width:100%;height:100%}.camera-frame-mirrored{transform:scaleX(-1)}.camera-frame-circle-mask{pointer-events:none;position:absolute;inset:0}.camera-frame-circle-mask:before{content:"";aspect-ratio:1;border-radius:var(--radius-full);outline:2px solid var(--color-surface);width:78%;box-shadow:0 0 0 9999px var(--overlay-bg);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.camera-frame-overlay{pointer-events:none;flex-direction:column;justify-content:flex-end;align-items:center;padding:1rem;display:flex;position:absolute;inset:0}.camera-frame-overlay>*{pointer-events:auto}
.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.card-pad-none{background:color-mix(in srgb, var(--color-surface) 20%, transparent);box-shadow:none;border:none;padding:0}.card-pad-md{padding:1.25rem}.card-pad-lg{padding:2rem}
.empty-state{text-align:center;flex-direction:column;align-items:center;padding:3rem 1.5rem;display:flex}.empty-state-icon-wrap{border-radius:var(--radius-full);background:var(--color-surface-sunken);justify-content:center;align-items:center;width:3.5rem;height:3.5rem;margin-block-end:1rem;display:flex}.empty-state-title{font-size:var(--text-lg);font-weight:var(--weight-semibold);color:var(--color-text)}.empty-state-description{max-width:44ch;font-size:var(--text-sm);color:var(--color-text-muted);margin-block-start:.375rem}.empty-state-action{margin-block-start:1.25rem}
.popover-panel-host{display:contents}
.menu-root{display:inline-flex;position:relative}.menu-trigger{border-radius:var(--radius-full);width:2rem;height:2rem;color:var(--color-text-subtle);cursor:pointer;transition:background-color var(--transition-fast), color var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}.menu-trigger:hover{background:var(--color-surface-sunken);color:var(--color-text)}.menu-trigger:focus-visible{box-shadow:var(--focus-ring);outline:none}.menu{left:auto;right:calc(100vw - var(--popover-left) - var(--popover-width));z-index:var(--z-popover);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);min-width:11rem;box-shadow:var(--shadow-md);flex-direction:column;padding:.25rem;display:flex;position:fixed}.menu[data-placement=below]{top:var(--popover-below)}.menu[data-placement=above]{bottom:var(--popover-above)}.menu-item{border-radius:var(--radius-sm);width:100%;font-size:var(--text-sm);color:var(--color-text);text-align:left;cursor:pointer;transition:background-color var(--transition-fast);background:0 0;border:none;align-items:center;gap:.5rem;padding:.5rem .625rem;display:flex}.menu-item:hover{background:var(--color-surface-sunken)}.menu-item:focus-visible{box-shadow:var(--focus-ring);outline:none}.menu-item[data-tone=danger]{color:var(--color-danger)}.menu-item[data-tone=danger]:hover{background:var(--color-danger-soft)}
.checkbox{cursor:pointer;align-items:flex-start;gap:.625rem;display:inline-flex}.checkbox-disabled{cursor:not-allowed;opacity:.55}.checkbox-input{appearance:none;border:2px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);width:1.25rem;height:1.25rem;cursor:inherit;transition:background-color var(--transition-fast), border-color var(--transition-fast);flex-shrink:0;place-content:center;margin-block-start:.125rem;display:inline-grid}.checkbox-input:before{content:"";width:.75rem;height:.75rem;transition:transform var(--transition-fast);background:var(--color-on-brand);clip-path:polygon(14% 44%,0 65%,50% 100%,100% 16%,80% 0,43% 62%);transform:scale(0)}.checkbox-input:checked{border-color:var(--color-brand);background:var(--color-brand)}.checkbox-input:checked:before{transform:scale(1)}.checkbox-input:focus-visible{box-shadow:var(--focus-ring);outline:none}.checkbox-input[aria-invalid=true]{border-color:var(--color-danger);box-shadow:var(--focus-ring-danger)}.checkbox-texts{flex-direction:column;gap:.125rem;display:flex}.checkbox-label{font-size:var(--text-md);color:var(--color-text);line-height:var(--leading-snug)}.checkbox-description{font-size:var(--text-sm);color:var(--color-text-muted)}
.icon-button{border-radius:var(--radius-full);cursor:pointer;transition:background-color var(--transition-fast), color var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}.icon-button:disabled{cursor:not-allowed;opacity:.55}.icon-button:focus-visible{box-shadow:var(--focus-ring);outline:none}.icon-button-sm{width:2rem;height:2rem}.icon-button-md{width:2.5rem;height:2.5rem}.icon-button-ghost{color:var(--color-text-subtle)}.icon-button-ghost:hover:not(:disabled){background:var(--color-surface-sunken);color:var(--color-text)}.icon-button-danger{color:var(--color-text-subtle)}.icon-button-danger:hover:not(:disabled){background:var(--color-danger-soft);color:var(--color-danger)}.icon-button-secondary{border:1px solid var(--color-border-strong);background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-xs)}.icon-button-secondary:hover:not(:disabled){background:var(--color-surface-sunken)}.icon-button-secondary:active:not(:disabled){background:var(--color-border)}
.field{flex-direction:column;gap:.375rem;display:flex}.field-subgrid{grid-template-columns:minmax(0,1fr);grid-template-rows:subgrid;grid-row:span 3;gap:.375rem;display:grid}.field-label{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-label);text-align:var(--field-align,left);display:block}.field-required{color:var(--color-danger);margin-inline-start:.25rem}.field-hint{font-size:var(--text-sm);color:var(--color-text-muted);text-align:var(--field-align,left);margin:0}.field-error{font-size:var(--text-sm);color:var(--color-danger);text-align:var(--field-align,left);margin:0}
.control{width:100%;height:var(--control-height-md);padding-inline:var(--control-pad-x);background:var(--control-bg);border:1px solid var(--control-border-color);border-radius:var(--control-radius);font-family:inherit;font-size:var(--control-font-size);color:var(--color-text);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);display:block}.control::placeholder{color:var(--color-text-subtle)}.control:focus{border-color:var(--color-brand-ink);box-shadow:var(--focus-ring);outline:none}.control:disabled{background:var(--color-surface-sunken);color:var(--color-text-muted);cursor:not-allowed}.control[aria-invalid=true]{border-color:var(--color-danger)}.control[aria-invalid=true]:focus{box-shadow:var(--focus-ring-danger)}
.date-picker{width:100%;display:block;position:relative}.date-picker-trigger{text-align:start;cursor:pointer;align-items:center;gap:.5rem;display:flex}.date-picker-trigger[data-placeholder] .date-picker-trigger-label{color:var(--color-text-subtle)}.date-picker-trigger[aria-expanded=true]{border-color:var(--color-brand-ink);box-shadow:var(--focus-ring)}.date-picker-trigger[data-invalid]{border-color:var(--color-danger)}.date-picker-trigger[data-invalid]:focus{box-shadow:var(--focus-ring-danger)}.date-picker-trigger-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.date-picker-trigger-icon{flex-shrink:0;align-items:center;display:flex}.date-picker-panel{left:var(--popover-left);z-index:var(--z-popover);width:19.5rem;max-width:100%;max-height:var(--popover-max-height);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);animation:date-picker-calendar-in var(--transition-fast) ease-out;padding:.75rem;position:fixed;overflow-y:auto}.date-picker-panel[data-placement=below]{top:var(--popover-below)}.date-picker-panel[data-placement=above]{bottom:var(--popover-above)}@keyframes date-picker-calendar-in{0%{opacity:0;transform:translateY(-.25rem)}}.date-picker-header{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.date-picker-month-label{text-align:center;font-family:var(--font-display);font-size:var(--text-md);font-weight:var(--weight-semibold);color:var(--color-text);flex:1}.date-picker-weekdays,.date-picker-grid{grid-template-columns:repeat(7,1fr);gap:.125rem;display:grid}.date-picker-weekday{text-align:center;font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--color-text-subtle);padding-block:.25rem}.date-picker-day{aspect-ratio:1;border-radius:var(--radius-md);font-family:inherit;font-size:var(--text-sm);color:var(--color-text);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;display:flex}.date-picker-day:hover:not(:disabled){background:var(--color-surface-sunken)}.date-picker-day:focus-visible{box-shadow:var(--focus-ring);outline:none}.date-picker-day[aria-current=date]{border-color:var(--color-brand-ink);font-weight:var(--weight-semibold)}.date-picker-day[aria-pressed=true]{background:var(--color-brand);border-color:var(--color-brand);color:var(--color-on-brand);font-weight:var(--weight-semibold)}.date-picker-day:disabled{color:var(--color-text-subtle);opacity:.45;cursor:not-allowed}.date-picker-pad{aspect-ratio:1}.date-picker-footer{border-top:1px solid var(--color-border);justify-content:space-between;gap:.5rem;margin-top:.5rem;padding-top:.5rem;display:flex}.date-picker-footer-action{border-radius:var(--radius-md);font-family:inherit;font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-brand-ink);cursor:pointer;background:0 0;border:none;padding:.25rem .5rem}.date-picker-footer-action:hover:not(:disabled){background:var(--color-surface-sunken)}.date-picker-footer-action:disabled{color:var(--color-text-muted);cursor:not-allowed}.date-picker-backdrop{display:none}@media (max-width:40rem){.date-picker-backdrop{z-index:var(--z-popover);background:var(--overlay-bg);animation:date-picker-calendar-fade-in var(--transition-fast) ease-out;display:block;position:fixed;inset:0}.date-picker-panel,.date-picker-panel[data-placement=above],.date-picker-panel[data-placement=below]{width:auto;max-height:60vh;padding:1rem 1rem calc(1rem + env(safe-area-inset-bottom));border-block-end:none;border-inline:none;border-start-start-radius:var(--radius-xl);border-start-end-radius:var(--radius-xl);border-end-end-radius:0;border-end-start-radius:0;animation-name:date-picker-calendar-sheet-in;position:fixed;inset:auto 0 0}.date-picker-day{font-size:var(--text-md)}}@keyframes date-picker-calendar-sheet-in{0%{transform:translateY(100%)}}@keyframes date-picker-calendar-fade-in{0%{opacity:0}}@media (prefers-reduced-motion:reduce){.date-picker-panel,.date-picker-backdrop{animation:none}}
.search-filter-bar{align-items:center;gap:.5rem;display:flex}.search-filter-bar-search{flex:1;position:relative}.search-filter-bar-search-icon{top:50%;left:var(--control-pad-x);pointer-events:none;color:var(--color-text-subtle);display:inline-flex;position:absolute;transform:translateY(-50%)}.search-filter-bar-input{padding-inline-start:2.5rem}.search-filter-bar-input::-webkit-search-cancel-button{appearance:none}.search-filter-bar-filter{display:inline-flex;position:relative}.search-filter-bar-trigger{width:var(--control-height-md);height:var(--control-height-md);border:1px solid var(--control-border-color);border-radius:var(--control-radius);background:var(--control-bg);color:var(--color-text-subtle);cursor:pointer;transition:background-color var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast), box-shadow var(--transition-fast);justify-content:center;align-items:center;display:inline-flex;position:relative}.search-filter-bar-trigger:hover{background:var(--color-surface-sunken);color:var(--color-text)}.search-filter-bar-trigger:focus-visible{box-shadow:var(--focus-ring);outline:none}.search-filter-bar-trigger[data-active]{border-color:var(--color-brand-ink);color:var(--color-brand-ink)}.search-filter-bar-count{border-radius:var(--radius-full);background:var(--color-brand);min-width:1.125rem;height:1.125rem;color:var(--color-on-brand);font-size:var(--text-xs);font-weight:var(--weight-semibold);justify-content:center;align-items:center;padding-inline:.25rem;line-height:1;display:inline-flex;position:absolute;top:-.375rem;right:-.375rem}.search-filter-bar-panel{left:auto;right:calc(100vw - var(--popover-left) - var(--popover-width));z-index:var(--z-popover);width:24rem;max-width:calc(100vw - 2rem);max-height:var(--popover-max-height);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);flex-direction:column;gap:1rem;padding:1rem;display:flex;position:fixed;overflow-y:auto}.search-filter-bar-panel[data-placement=below]{top:var(--popover-below)}.search-filter-bar-panel[data-placement=above]{bottom:var(--popover-above)}.search-filter-bar-section{border:none;border-bottom:1px solid var(--color-border);flex-direction:column;gap:.5rem;margin:0;padding:0 0 1rem;display:flex}.search-filter-bar-section:last-of-type{border-bottom:none;padding-bottom:0}.search-filter-bar-section-title{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-label);margin-bottom:.5rem;padding:0}.search-filter-bar-options{flex-direction:column;gap:.375rem;max-height:11rem;display:flex;overflow-y:auto}.search-filter-bar-option{align-items:center}.search-filter-bar-option .checkbox-input{margin-block-start:0}.search-filter-bar-option .checkbox-label{font-size:var(--text-sm);font-weight:var(--weight-regular)}.search-filter-bar-option-person{align-items:center;gap:.5rem;display:inline-flex}.search-filter-bar-empty{font-size:var(--text-sm);color:var(--color-text-subtle)}
.table-wrap{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.table-th{text-align:start;font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-subtle);border-block-end:1px solid var(--color-border);white-space:nowrap;padding:.75rem 1rem}.table-row+.table-row .table-td,.table-row:not(:first-child) .table-td{border-block-start:1px solid var(--color-border)}.table-row:hover .table-td{background:var(--color-surface-sunken)}.table-td{color:var(--color-text);vertical-align:middle;padding:.875rem 1rem}.table-sort{font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;cursor:pointer;background:0 0;border:none;align-items:center;gap:.375rem;padding:0;display:inline-flex}.table-sort .icon{color:var(--color-text-subtle);opacity:.55}.table-sort:hover,.table-sort[data-active]{color:var(--color-text)}.table-sort[data-active] .icon{color:inherit;opacity:1}.table-th-center{text-align:center}.table-fit{white-space:nowrap;width:1%}.table-nowrap{white-space:nowrap}@media (min-width:768px){.table-th:first-child,.table-td:first-child{z-index:1;background:var(--color-surface);box-shadow:1px 0 0 var(--color-border);position:sticky;left:0}.table-th:last-child,.table-td:last-child{z-index:1;background:var(--color-surface);box-shadow:-1px 0 0 var(--color-border);position:sticky;right:0}.table-row:hover .table-td:first-child,.table-row:hover .table-td:last-child{background:var(--color-surface-sunken)}}
.choice-buttons{flex-wrap:wrap;gap:.5rem;display:flex}.choice-buttons-option{background:var(--color-surface);border:1.5px solid var(--color-border-strong);border-radius:var(--radius-md);color:var(--color-text);font-family:inherit;font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;transition:border-color var(--transition-fast), background-color var(--transition-fast), color var(--transition-fast);align-items:center;gap:.375rem;padding:.5rem .875rem;display:inline-flex}.choice-buttons-option:hover:not(:disabled){border-color:var(--color-brand)}.choice-buttons-option:focus-visible{box-shadow:var(--focus-ring);outline:none}.choice-buttons-selected,.choice-buttons-selected:hover:not(:disabled){background:var(--color-brand-soft);border-color:var(--color-brand);color:var(--color-brand-soft-text)}.choice-buttons-option:disabled{cursor:default}.choice-buttons-invalid{border-color:var(--color-danger)}
.heading-h1,.heading-h2,.heading-h3,.heading-h4{font-family:var(--font-display);color:var(--color-text);margin:0}.heading-h1{font-size:var(--text-h1);font-weight:var(--weight-bold);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight)}.heading-h2{font-size:var(--text-h2);font-weight:var(--weight-semibold);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight)}.heading-h3{font-size:var(--text-h3);font-weight:var(--weight-semibold);line-height:var(--leading-snug)}.heading-h4{font-size:var(--text-h4);font-weight:var(--weight-semibold);line-height:var(--leading-snug)}
.modal-overlay{background:var(--overlay-bg);animation:modal-fade-in var(--transition-fast) both}.modal-dialog{background:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);animation:modal-pop-in var(--transition-base) both;outline:none}.modal-sm{max-width:26rem}.modal-md{max-width:34rem}.modal-lg{max-width:46rem}@keyframes modal-fade-in{0%{opacity:0}}@keyframes modal-pop-in{0%{opacity:0;transform:translateY(10px)scale(.98)}}@media (prefers-reduced-motion:reduce){.modal-overlay,.modal-dialog{animation:none}}
.text{line-height:var(--leading-normal);margin:0}.text-tone-default{color:var(--color-text)}.text-tone-muted{color:var(--color-text-muted)}.text-tone-subtle{color:var(--color-text-subtle)}.text-tone-brand{color:var(--color-brand-ink)}.text-tone-danger{color:var(--color-danger)}.text-tone-success{color:var(--color-success)}.text-tone-inverse{color:var(--color-text-inverse)}.text-size-xs{font-size:var(--text-xs)}.text-size-sm{font-size:var(--text-sm)}.text-size-md{font-size:var(--text-md)}.text-size-lg{font-size:var(--text-lg)}.text-weight-regular{font-weight:var(--weight-regular)}.text-weight-medium{font-weight:var(--weight-medium)}.text-weight-semibold{font-weight:var(--weight-semibold)}
.toast-viewport{pointer-events:none;flex-direction:column;display:flex;position:fixed;bottom:0;left:0;right:0}body[data-kiosk-footer] .toast-viewport{bottom:var(--kiosk-footer-height)}body[data-signin-actionbar] .toast-viewport{bottom:calc(var(--kiosk-footer-height) + var(--kiosk-actionbar-height))}.toast{pointer-events:auto;width:100%;font-size:var(--text-md);box-shadow:var(--shadow-lg);animation:toast-in var(--transition-base);border-top:1px solid #0000;justify-content:space-between;align-items:center;gap:1rem;padding:.875rem 1.5rem;display:flex}@keyframes toast-in{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.toast-message{flex:1}.toast-dismiss{border-radius:var(--radius-sm);color:inherit;cursor:pointer;opacity:.8;flex:none;padding:.25rem;display:inline-flex}.toast-dismiss:hover{opacity:1}.toast-info{background:var(--color-info-soft);color:var(--color-info-soft-text);border-top-color:color-mix(in srgb, var(--color-info-soft-text) 20%, transparent)}.toast-success{background:var(--color-success-soft);color:var(--color-success-soft-text);border-top-color:color-mix(in srgb, var(--color-success-soft-text) 20%, transparent)}.toast-warning{background:var(--color-warning-soft);color:var(--color-warning-soft-text);border-top-color:color-mix(in srgb, var(--color-warning-soft-text) 20%, transparent)}.toast-danger{background:var(--color-danger-soft);color:var(--color-danger-soft-text);border-top-color:color-mix(in srgb, var(--color-danger-soft-text) 20%, transparent)}
.divider{border:none;border-block-start:1px solid var(--color-border);margin:0}
.drawer-overlay{background:var(--overlay-bg);animation:drawer-fade-in var(--transition-fast) both}.drawer-panel{background:var(--color-surface);box-shadow:var(--shadow-lg);outline:none}.drawer-left{animation:drawer-slide-in-left var(--transition-base) both;left:0}.drawer-right{animation:drawer-slide-in-right var(--transition-base) both;right:0}@keyframes drawer-fade-in{0%{opacity:0}}@keyframes drawer-slide-in-left{0%{transform:translate(-100%)}}@keyframes drawer-slide-in-right{0%{transform:translate(100%)}}@media (prefers-reduced-motion:reduce){.drawer-overlay,.drawer-left,.drawer-right{animation:none}}
.file-upload{height:var(--control-height-md);padding-inline:var(--control-pad-x);background:var(--control-bg);border:1px solid var(--control-border-color);border-radius:var(--button-radius);color:var(--color-brand-ink);font-family:var(--font-display);font-size:var(--control-font-size);cursor:pointer;transition:border-color var(--transition-fast), box-shadow var(--transition-fast)}.file-upload:hover{border-color:var(--color-brand-ink)}.file-upload:focus-within{border-color:var(--color-brand-ink);box-shadow:var(--focus-ring);outline:none}.file-upload-disabled{opacity:.6;cursor:not-allowed}.file-upload-label{white-space:nowrap}.file-upload-input{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}
.inline-text-edit{border-radius:var(--radius-sm);min-width:2ch;box-shadow:var(--focus-ring);cursor:text;white-space:pre-wrap;font:inherit;color:inherit;letter-spacing:inherit;text-align:inherit;outline:none;padding-inline:.15em;display:inline-block}.inline-text-edit-multiline{display:block}.inline-text-edit:empty:before{content:attr(data-placeholder);color:var(--color-text-subtle)}
.logo{flex-shrink:0;align-items:center;display:inline-flex}.logo-link{border-radius:var(--radius-sm)}.logo-link:focus-visible{box-shadow:var(--focus-ring);outline:none}.logo-image{width:auto;display:block}
.qr-code{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);padding:4px}
.section-nav{position:sticky;top:1.5rem}.section-nav-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex;position:relative}.section-nav-list:before{content:"";background:var(--color-border-strong);width:2px;position:absolute;top:.875rem;bottom:.875rem;left:calc(.5rem - 1px)}.section-nav-item{display:contents}.section-nav-link{color:var(--color-text-muted);font-size:var(--text-sm);font-weight:var(--weight-medium);line-height:var(--leading-snug);align-items:center;gap:.75rem;padding:.3125rem 0;text-decoration:none;transition:color .12s;display:flex;position:relative}.section-nav-node{border-radius:var(--radius-full);border:2px solid var(--color-border-strong);background:var(--color-bg);flex-shrink:0;width:1rem;height:1rem;transition:border-color .12s,background-color .12s,box-shadow .12s}.section-nav-link:hover{color:var(--color-text)}.section-nav-link:hover .section-nav-node{border-color:var(--color-brand)}.section-nav-link[data-active=true]{color:var(--color-text);font-weight:var(--weight-semibold)}.section-nav-link[data-active=true] .section-nav-node{border-color:var(--color-brand);background:var(--color-brand);box-shadow:0 0 0 4px var(--color-brand-soft)}.section-nav-link:focus-visible{outline:2px solid var(--color-brand);outline-offset:2px;border-radius:var(--radius-sm)}.section-nav-target{scroll-margin-top:1.5rem}
.stat{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);height:100%;box-shadow:var(--shadow-xs);flex-direction:column;gap:.375rem;padding:1.25rem;display:flex}.stat-label{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text-muted)}.stat-value{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:var(--weight-bold);line-height:var(--leading-tight);color:var(--color-text);font-variant-numeric:tabular-nums;margin-top:auto}.stat-hint{font-size:var(--text-xs);color:var(--color-text-subtle)}.stat-subgrid{grid-template-rows:subgrid;grid-row:span 3;align-items:start;gap:.375rem;display:grid}.stat-subgrid .stat-value{align-self:end;margin-top:0}a.stat{text-decoration:none;transition:border-color .15s,box-shadow .15s}a.stat:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-sm)}a.stat:focus-visible{box-shadow:var(--focus-ring);outline:none}
.stepper{scrollbar-width:thin;margin:0;padding:0 0 10px;list-style:none;overflow-x:auto}.stepper-step{min-width:5.5rem}.stepper-track{min-height:32px}.stepper-line{background:var(--color-border-strong);flex:1 1 0;height:2px}.stepper-line-active{background:var(--color-brand)}.stepper-step:first-child .stepper-line-left,.stepper-step:last-child .stepper-line-right{visibility:hidden}.stepper-marker{border:2px solid var(--color-border-strong);border-radius:var(--radius-full);background:var(--color-surface);width:32px;height:32px;color:var(--color-text-muted);font-family:var(--font-display);font-size:var(--text-sm);flex:none;justify-content:center;align-items:center;font-weight:600;display:inline-flex}.stepper-num{line-height:1}.stepper-label{max-width:8rem;font-size:var(--text-xs);color:var(--color-text-subtle);text-align:center;line-height:1.3}.stepper-complete .stepper-marker{border-color:var(--color-brand);background:var(--color-brand);color:var(--color-on-brand)}.stepper-complete .stepper-label{color:var(--color-text-muted)}.stepper-current .stepper-marker{border-color:var(--color-brand);color:var(--color-brand-ink)}.stepper-current .stepper-label{color:var(--color-brand-ink);font-weight:600}.stepper-skipped .stepper-marker{color:var(--color-text-subtle);border-style:dashed}.stepper-skipped .stepper-label{color:var(--color-text-subtle);text-decoration:line-through}
.badge-capture-field-zone{text-align:center;border:2px dashed var(--color-border-strong);border-radius:var(--radius-lg);background:var(--color-surface);width:100%;color:var(--color-text);cursor:pointer;flex-direction:column;align-items:center;gap:.75rem;padding:1.5rem 1.25rem;transition:border-color .2s,background-color .2s,box-shadow .2s;display:flex}.badge-capture-field-zone:focus-visible{outline:2px solid var(--color-brand);outline-offset:2px}.badge-capture-field-zone:disabled{cursor:default;opacity:.7}.badge-capture-field-armed{border-style:solid;border-color:var(--color-brand);background:var(--color-brand-soft);color:var(--color-brand-soft-text);animation:2s ease-in-out infinite badge-capture-field-zone-breathe}.badge-capture-field-captured{border-style:solid;border-color:var(--color-success);background:var(--color-success-soft);color:var(--color-success-soft-text)}.badge-capture-field-invalid{border-color:var(--color-danger);background:var(--color-danger-soft)}.badge-capture-field-reader{border-radius:var(--radius-full);background:var(--color-brand-soft);width:3.25rem;height:3.25rem;color:var(--color-brand-ink);flex-shrink:0;place-items:center;transition:background-color .2s,color .2s;display:grid;position:relative}.badge-capture-field-armed .badge-capture-field-reader{background:color-mix(in srgb, var(--color-brand) 28%, transparent)}.badge-capture-field-captured .badge-capture-field-reader{background:color-mix(in srgb, var(--color-success) 20%, transparent);color:var(--color-success-soft-text);animation:.45s cubic-bezier(.34,1.56,.64,1) badge-capture-field-reader-pop}.badge-capture-field-invalid .badge-capture-field-reader{background:color-mix(in srgb, var(--color-danger) 16%, transparent);color:var(--color-danger)}.badge-capture-field-icon{flex-shrink:0;position:relative}.badge-capture-field-armed .badge-capture-field-icon{animation:2s ease-in-out infinite badge-capture-field-icon-pulse}.badge-capture-field-ring{border:2px solid var(--color-brand);border-radius:var(--radius-full);opacity:0;position:absolute;inset:0}.badge-capture-field-armed .badge-capture-field-ring{animation:2s ease-out infinite badge-capture-field-ring-wash}.badge-capture-field-armed .badge-capture-field-ring:nth-child(2){animation-delay:1s}.badge-capture-field-body{flex-direction:column;align-items:center;gap:.125rem;min-width:0;display:flex}.badge-capture-field-title{font-weight:600}.badge-capture-field-hint{font-size:var(--text-sm);color:var(--color-text-muted)}.badge-capture-field-armed .badge-capture-field-hint,.badge-capture-field-captured .badge-capture-field-hint{color:inherit}.badge-capture-field-uid{font-family:var(--font-mono);letter-spacing:.03em}.badge-capture-field-dots{align-items:center;gap:.15em;margin-left:.15em;display:inline-flex}.badge-capture-field-dot{border-radius:var(--radius-full);background:currentColor;width:.25em;height:.25em;animation:1.4s ease-in-out infinite badge-capture-field-dot-blink}.badge-capture-field-dot:nth-child(2){animation-delay:.2s}.badge-capture-field-dot:nth-child(3){animation-delay:.4s}@keyframes badge-capture-field-zone-breathe{0%,to{box-shadow:0 0 0 0 color-mix(in srgb, var(--color-brand) 45%, transparent)}50%{box-shadow:0 0 0 6px color-mix(in srgb, var(--color-brand) 0%, transparent)}}@keyframes badge-capture-field-ring-wash{0%{opacity:.7;transform:scale(1)}to{opacity:0;transform:scale(1.9)}}@keyframes badge-capture-field-icon-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.12)}}@keyframes badge-capture-field-reader-pop{0%{transform:scale(.7)}to{transform:scale(1)}}@keyframes badge-capture-field-dot-blink{0%,to{opacity:.25}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.badge-capture-field-armed,.badge-capture-field-armed .badge-capture-field-icon,.badge-capture-field-armed .badge-capture-field-ring,.badge-capture-field-captured .badge-capture-field-reader,.badge-capture-field-dot{animation:none}.badge-capture-field-armed .badge-capture-field-ring{opacity:.4}.badge-capture-field-dot{opacity:.6}}
.radio-group{flex-direction:column;gap:.625rem;display:flex}.radio-group-option{cursor:pointer;align-items:flex-start;gap:.625rem;display:inline-flex}.radio-group-disabled{cursor:not-allowed;opacity:.55}.radio-group-input{width:1.25rem;height:1.25rem;accent-color:var(--color-brand);cursor:inherit;flex-shrink:0;margin-block-start:.125rem}.radio-group-input:focus-visible{box-shadow:var(--focus-ring);border-radius:var(--radius-full);outline:none}.radio-group-texts{flex-direction:column;gap:.125rem;display:flex}.radio-group-label{font-size:var(--text-md);color:var(--color-text);line-height:var(--leading-snug)}.radio-group-description{font-size:var(--text-sm);color:var(--color-text-muted)}
.select{width:100%;display:block;position:relative}.select-trigger{text-align:start;cursor:pointer;align-items:center;gap:.5rem;padding-inline-end:.875rem;display:flex}.select-trigger[data-placeholder] .select-trigger-label{color:var(--color-text-subtle)}.select-trigger[aria-expanded=true]{border-color:var(--color-brand-ink);box-shadow:var(--focus-ring)}.select-trigger-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.select-chevron{transition:transform var(--transition-fast);flex-shrink:0;align-items:center;display:flex}.select-trigger[aria-expanded=true] .select-chevron{transform:rotate(180deg)}.select-panel{left:var(--popover-left);width:max-content;min-width:var(--popover-width);max-width:min(26rem, calc(100vw - var(--popover-left) - 8px));z-index:var(--z-popover);max-height:min(20rem, var(--popover-max-height));background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overscroll-behavior:contain;animation:select-panel-in var(--transition-fast) ease-out;margin:0;padding:.3125rem;list-style:none;position:fixed;overflow-y:auto}.select-panel[data-placement=below]{top:var(--popover-below)}.select-panel[data-placement=above]{bottom:var(--popover-above);animation-name:select-panel-in-above}@keyframes select-panel-in{0%{opacity:0;transform:translateY(-.25rem)}}@keyframes select-panel-in-above{0%{opacity:0;transform:translateY(.25rem)}}.select-panel:has(.select-search){padding-top:0}.select-search{z-index:1;background:var(--color-surface);border-block-end:1px solid var(--color-border);margin:0 -.3125rem .25rem;padding:.375rem;position:sticky;top:0}.select-search-input{height:var(--control-height-sm);font-size:var(--text-sm)}.select-option{border-radius:var(--radius-md);font-size:var(--control-font-size);color:var(--color-text);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.5rem;padding:.5rem .625rem;display:flex}.select-option[data-active]{background:var(--color-surface-sunken)}.select-option[aria-selected=true]{font-weight:var(--weight-semibold);color:var(--color-brand-ink)}.select-option[aria-disabled=true]{color:var(--color-text-muted);cursor:not-allowed}.select-option-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.select-option-hint{font-size:var(--text-sm);color:var(--color-text-subtle);flex-shrink:0}.select-option[aria-selected=true] .select-option-hint{color:var(--color-text-muted)}.select-tick{color:var(--color-brand-ink);flex-shrink:0;align-items:center;display:flex}.select-group{font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-subtle);padding:.5rem .625rem .25rem}.select-empty{font-size:var(--text-sm);color:var(--color-text-muted);padding:.75rem .625rem}.select-backdrop{display:none}@media (max-width:40rem){.select-backdrop{z-index:var(--z-popover);background:var(--overlay-bg);animation:select-fade-in var(--transition-fast) ease-out;display:block;position:fixed;inset:0}.select-panel,.select-panel[data-placement=above],.select-panel[data-placement=below]{width:auto;min-width:0;max-width:none;max-height:60vh;padding:.5rem .5rem calc(.5rem + env(safe-area-inset-bottom));border-block-end:none;border-inline:none;border-start-start-radius:var(--radius-xl);border-start-end-radius:var(--radius-xl);border-end-end-radius:0;border-end-start-radius:0;animation-name:select-sheet-in;position:fixed;inset:auto 0 0}.select-option{font-size:var(--text-lg);padding:.875rem .75rem}}@keyframes select-sheet-in{0%{transform:translateY(100%)}}@keyframes select-fade-in{0%{opacity:0}}@media (prefers-reduced-motion:reduce){.select-panel,.select-backdrop{animation:none}}
.slider{flex-direction:column;gap:.5rem;display:flex}.slider-reading{align-items:baseline;gap:.375rem;display:flex}.slider-value{font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--weight-semibold);color:var(--color-text);line-height:var(--leading-tight)}.slider-suffix{font-size:var(--text-sm);color:var(--color-text-muted)}.slider-range{width:100%;height:1.75rem;accent-color:var(--color-brand);cursor:pointer}.slider-range:focus-visible{box-shadow:var(--focus-ring);border-radius:var(--radius-full);outline:none}.slider-range:disabled{cursor:not-allowed;opacity:.55}.slider-ends{font-size:var(--text-xs);color:var(--color-text-subtle);justify-content:space-between;gap:1rem;display:flex}
.signature-pad{background:var(--color-surface);border:1.5px dashed var(--color-border-strong);border-radius:var(--control-radius);overflow:hidden}.signature-pad-invalid{border-color:var(--color-danger)}.signature-pad-canvas{touch-action:none;cursor:crosshair;border-block-end:1px solid var(--color-border);width:100%;height:10rem;display:block}
.textarea{height:auto;min-height:var(--control-height-md);line-height:var(--leading-normal);resize:vertical;padding-block:.625rem}
