@font-face{font-family:Pretendard;src:url(/fonts/PretendardVariable.woff2) format("woff2");font-style:normal;font-weight:100 900;font-display:swap}:root{--color-primary:#146c63;--color-primary-hover:#0f514b;--color-accent:#2f65a7;--color-accent-soft:#e8f0f7;--color-canvas:#f5f7f3;--color-surface:#ffffff;--color-surface-subtle:#f4f7f4;--color-text:#18201c;--color-text-muted:#65726b;--color-border:#d8dfd9;--color-success:#1b6b4b;--color-success-soft:#e8f4ed;--color-warning:#8a5512;--color-warning-soft:#fff4df;--color-danger:#9d5060;--color-danger-soft:#fff0f3;--color-disabled:#cfd8d2;--color-code-surface:#101713;--color-code-text:#f3f7f4;--font-ui:"Pretendard","Apple SD Gothic Neo","Noto Sans KR","Malgun Gothic",system-ui,sans-serif;--font-data:ui-monospace,"SFMono-Regular","SF Mono",Consolas,monospace;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-mobile-card:28px;--radius-full:9999px;--space-xs:4px;--space-sm:8px;--space-md:12px;--space-base:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--space-3xl:64px;--space-sidebar:240px;--content-max:1440px}*{box-sizing:border-box}body{margin:0;font-family:var(--font-ui);background:var(--color-canvas);color:var(--color-text)}a{color:var(--color-accent);text-decoration:none}button,input,select,textarea{font:inherit}:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.admin-shell{display:grid;grid-template-columns:var(--space-sidebar) minmax(0,1fr);min-height:100dvh}.skip-link{position:fixed;z-index:100;top:var(--space-sm);left:var(--space-sm);padding:10px 14px;border-radius:var(--radius-md);background:var(--color-text);color:var(--color-surface);font-weight:700;transform:translateY(calc(-100% - var(--space-lg)))}.skip-link:focus{transform:translateY(0)}.admin-rail{position:sticky;top:0;display:flex;height:100dvh;min-width:0;flex-direction:column;gap:var(--space-lg);padding:var(--space-lg) var(--space-base);overflow:hidden;border-inline-end:1px solid var(--color-border);background:var(--color-surface)}.admin-appbar{display:contents}.admin-account-menu{display:none}.admin-brand{display:grid;min-height:44px;align-content:center;padding-inline:var(--space-md);color:var(--color-text)}.admin-brand span{font-size:1.25rem;font-weight:800;letter-spacing:-.03em}.admin-brand small{margin-block-start:2px;color:var(--color-text-muted);font-size:.6875rem;font-weight:600;letter-spacing:.08em}.admin-study-select{display:grid;gap:2px;margin-inline:var(--space-md);padding:9px 12px;border:1.5px solid var(--color-primary);border-radius:var(--radius-md);background:var(--color-success-soft)}.admin-study-select__label{color:var(--color-text-muted);font-size:.625rem;font-weight:700;letter-spacing:.08em}.admin-study-select__value{color:var(--color-primary);font-size:.875rem;font-weight:800}.admin-study-select__control{min-height:28px;border:0;background:transparent;color:var(--color-primary);font:inherit;font-size:.875rem;font-weight:800}.admin-study-select__error{color:var(--color-danger);font-size:.75rem}.admin-navigation{min-height:0;flex:1 1 auto;overflow-y:auto;overscroll-behavior:contain}.admin-navigation ul{display:grid;gap:var(--space-xs);padding:0;margin:0;list-style:none}.admin-navigation a{display:flex;min-height:44px;align-items:center;padding:10px var(--space-md);border-radius:var(--radius-md);color:var(--color-text-muted);font-size:.875rem;font-weight:650;line-height:1.35}.admin-navigation a:hover{background:var(--color-surface-subtle);color:var(--color-text)}.admin-navigation a[aria-current=page]{background:var(--color-success-soft);color:var(--color-primary)}.admin-account{display:grid;gap:var(--space-sm);padding:var(--space-md);border-block-start:1px solid var(--color-border);font-size:.8125rem}.admin-account__name{min-width:0;overflow:hidden;color:var(--color-text);font-weight:700;text-overflow:ellipsis;white-space:nowrap}.admin-account__role{width:fit-content;padding:3px 8px;border-radius:var(--radius-full);background:var(--color-surface-subtle);color:var(--color-text-muted);font-size:.6875rem;font-weight:700}.admin-account a{display:inline-flex;min-height:44px;align-items:center}.admin-account__logout{display:grid;gap:var(--space-xs)}.admin-account__logout button{min-height:44px;width:100%}.admin-main{width:min(100%,var(--content-max));min-width:0;margin-inline:auto;padding:var(--space-xl) var(--space-lg) var(--space-3xl)}@media (max-width:1099px){.admin-shell{grid-template-columns:minmax(0,1fr);grid-template-rows:max-content minmax(0,1fr)}.admin-rail{z-index:20;height:auto;max-height:none;gap:var(--space-sm);padding:var(--space-sm) var(--space-lg);overflow:visible;border-inline-end:0;border-block-end:1px solid var(--color-border);box-shadow:0 8px 24px rgb(24 32 28/.08)}.admin-appbar{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:var(--space-base)}.admin-brand{display:flex;min-width:0;align-items:baseline;gap:var(--space-sm);padding:0}.admin-study-select{display:flex;align-items:center;gap:var(--space-sm);margin-inline:0;padding:6px 12px}.admin-navigation{flex:0 0 auto;overflow-x:auto;overflow-y:hidden;overscroll-behavior-inline:contain;scrollbar-width:thin}.admin-navigation ul{display:flex;width:max-content;min-width:100%}.admin-navigation a{padding-inline:var(--space-md);white-space:nowrap}.admin-account--desktop{display:none}.admin-account-menu{position:relative;display:block;flex:0 0 auto}.admin-account-menu__trigger{min-width:44px}.admin-account-menu__panel{position:absolute;z-index:40;top:calc(100% + var(--space-sm));right:0;display:grid;width:min(22rem,calc(100vw - 2 * var(--space-base)));gap:var(--space-sm);padding:var(--space-base);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:0 20px 48px rgb(24 32 28/.18)}.admin-account-menu__identity{display:grid;gap:var(--space-xs);padding-block-end:var(--space-sm);border-block-end:1px solid var(--color-border)}.admin-account-menu__identity strong{overflow-wrap:anywhere}.admin-account-menu__identity span{color:var(--color-text-muted);font-size:.75rem;font-weight:700}.admin-account-menu__panel>a{display:inline-flex;min-height:44px;align-items:center}.admin-main{padding:var(--space-xl) var(--space-lg) var(--space-3xl)}}@media (max-width:719px){.admin-rail{padding:var(--space-sm) var(--space-base)}.admin-navigation a{padding-inline:10px;font-size:.75rem}.admin-main{padding:var(--space-lg) var(--space-base) var(--space-2xl)}}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-lg);margin-block-end:var(--space-lg)}.page-header__copy{min-width:0}.page-header h1{margin:0;font-size:clamp(1.75rem,2.5vw,2.25rem);line-height:1.2;letter-spacing:-.025em}.page-header__eyebrow{margin:0 0 var(--space-sm);color:var(--color-primary);font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.page-header__description{max-width:68ch;margin-block-start:var(--space-sm);color:var(--color-text-muted);line-height:1.65}.page-header__actions{display:flex;flex:0 0 auto;flex-wrap:wrap;gap:var(--space-sm)}.card{margin-block-end:var(--space-lg);padding:var(--space-lg);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:0 8px 24px rgb(24 32 28/.04)}.card--subtle{background:var(--color-surface-subtle);box-shadow:none}.card__heading{margin:0 0 var(--space-base);font-size:1rem;line-height:1.4}.exam-history__header,.single-report__header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-base);margin-block-end:var(--space-base)}.exam-history__header{flex-wrap:wrap}.exam-history__header .card__heading{margin-block-end:0}.exam-history__download{display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-xs)}.exam-history__download .scope-note{margin:0}.exam-note__content{margin:0 0 var(--space-base);white-space:pre-wrap;overflow-wrap:anywhere}.exam-note__meta{margin:0;color:var(--color-text-muted);font-size:.875rem}.single-report__header .card__heading{margin-block-end:var(--space-xs)}.single-report__period{margin:0;color:var(--color-text-muted);font-size:.875rem}.single-report__preview{display:block;width:100%;min-height:72vh;border:1px solid var(--color-border);border-radius:var(--radius-base);background:white}.single-report__empty{display:grid;min-height:260px;place-items:center;align-content:center;gap:var(--space-base);border:1px dashed var(--color-border);border-radius:var(--radius-base);background:var(--color-surface-subtle);text-align:center}.single-report__empty p{margin:0;color:var(--color-text-muted)}.status-badge{display:inline-flex;min-height:28px;align-items:center;padding:4px 10px;border-radius:var(--radius-full);font-size:.75rem;font-weight:700;line-height:1;white-space:nowrap}.status-badge--neutral{background:var(--color-surface-subtle);color:var(--color-text-muted)}.status-badge--info{background:var(--color-accent-soft);color:var(--color-accent)}.status-badge--success{background:var(--color-success-soft);color:var(--color-success)}.status-badge--warning{background:var(--color-warning-soft);color:var(--color-warning)}.status-badge--danger{background:var(--color-danger-soft);color:var(--color-danger)}.notice{margin-block:var(--space-md);padding:var(--space-base);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-subtle);color:var(--color-text);font-size:.875rem;line-height:1.55}.notice--info{border-color:var(--color-accent);background:var(--color-accent-soft)}.notice--success{border-color:var(--color-success);background:var(--color-success-soft)}.notice--warning{border-color:var(--color-warning);background:var(--color-warning-soft)}.notice--danger{border-color:var(--color-danger);background:var(--color-danger-soft)}.notice__title{margin:0 0 var(--space-xs);font-size:.875rem}.notice__body>:first-child{margin-block-start:0}.notice__body>:last-child{margin-block-end:0}.empty-state{padding:var(--space-2xl) var(--space-lg);border:1px dashed var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface-subtle);text-align:center}.empty-state h2{margin:0;font-size:1rem}.empty-state p{margin:var(--space-sm) auto 0;max-width:50ch;color:var(--color-text-muted);line-height:1.55}.empty-state__action{margin-block-start:var(--space-base)}.data-table-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-gutter:stable;box-shadow:inset -12px 0 12px -14px var(--color-text-muted)}.data-table-region{min-width:0}.data-table-region__hint{position:sticky;left:0;width:fit-content;margin:0 0 var(--space-sm);color:var(--color-text-muted);font-size:.75rem}.data-table-scroll:has(tbody tr:nth-child(20)){max-height:min(70dvh,48rem);overflow-y:auto}.data-table{width:100%;border-collapse:collapse;font-size:.875rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.data-table td,.data-table th{min-height:48px;padding:var(--space-md) var(--space-base);border-block-end:1px solid var(--color-border);text-align:start;vertical-align:middle}.data-table th{background:var(--color-surface-subtle);color:var(--color-text-muted);font-size:.75rem;font-weight:700;white-space:nowrap}.data-table thead th{position:sticky;z-index:1;top:0}.data-table__number{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:end}.filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:end;gap:var(--space-md)}.secondary-link{display:inline-flex;min-height:44px;align-items:center;justify-content:center;padding-inline:var(--space-base);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font-weight:700;text-decoration:none}.participant-list-card{display:grid;gap:var(--space-base)}.participant-status-filter{margin-block-end:var(--space-lg);border-block:1px solid var(--color-border);background:var(--color-surface)}.participant-status-filter ul{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));padding:0;margin:0;list-style:none}.participant-status-filter li+li{border-inline-start:1px solid var(--color-border)}.participant-status-filter a{display:flex;min-height:56px;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-block-end:3px solid transparent;color:var(--color-text);text-decoration:none}.participant-status-filter a[aria-current=page]{border-block-end-color:var(--color-primary);color:var(--color-primary);font-weight:700}.participant-status-filter strong{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.participant-list-toolbar{display:grid;grid-template-columns:minmax(16rem,1fr) minmax(9rem,auto) minmax(8rem,auto) auto;align-items:end;gap:var(--space-sm);margin-block-end:var(--space-base)}.participant-list-toolbar__field,.participant-list-toolbar__search{display:grid;min-width:0;gap:var(--space-xs)}.participant-list-toolbar__field>span{color:var(--color-text-muted);font-size:.75rem;font-weight:700}.participant-list-toolbar :where(input,select){min-height:44px;min-width:0;width:100%;padding:10px 12px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text)}.participant-list__table{min-width:82rem}.participant-list__table th a{color:inherit;text-decoration:none}.participant-list__table th a:focus-visible,.participant-list__table th a:hover{color:var(--color-primary);text-decoration:underline}.participant-list__table td{color:var(--color-text)}.participant-list__patient-info{min-width:10.5rem}.participant-list__patient-info span{display:block}.participant-list__patient-info span+span{margin-block-start:2px;color:var(--color-text-muted);font-size:.75rem}.participant-list__patient-info-link{display:block;color:inherit;text-decoration:none}.participant-list__patient-info-link:focus-visible,.participant-list__patient-info-link:hover{text-decoration:underline}.participant-list__report-link{display:inline-flex;min-height:44px;align-items:center;font-weight:700;white-space:nowrap}.dashboard-window{display:flex;flex-wrap:wrap;gap:var(--space-sm) var(--space-xl);margin-block-end:var(--space-lg);padding:var(--space-base);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface-subtle)}.dashboard-window p{display:grid;gap:var(--space-xs);margin:0}.dashboard-card .muted,.dashboard-window span{color:var(--color-text-muted);font-size:.8125rem}.dashboard-card dd,.dashboard-card strong,.dashboard-window strong{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-lg)}.dashboard-grid .card{margin-block-end:0}.dashboard-card--wide{grid-column:1/-1}.dashboard-card__body{display:grid;gap:var(--space-base)}.dashboard-card__body>:where(p,div),.dashboard-primary-stat{margin:0}.dashboard-primary-stat{font-size:1.25rem;font-weight:750}.dashboard-stat-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-sm)}.dashboard-stat-row>p{display:grid;gap:var(--space-xs);margin:0;padding:var(--space-base);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-subtle)}.dashboard-stat-row strong{font-size:1.75rem}.dashboard-stat-row span{color:var(--color-text-muted);font-size:.8125rem}.dashboard-failed-jobs,.receipt-distribution{margin-block-start:var(--space-lg)}.dashboard-failed-jobs h3,.receipt-distribution h3{margin:0 0 var(--space-sm);font-size:.875rem}.receipt-distribution dl{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--space-sm);margin:0}.receipt-distribution dl>div{min-width:0;padding:var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-md)}.receipt-distribution dt{color:var(--color-text-muted);font-size:.75rem;line-height:1.4}.receipt-distribution dd{margin:var(--space-xs) 0 0;font-size:1.25rem;font-weight:750}.dashboard-audit-list,.dashboard-failed-jobs ul{display:grid;gap:var(--space-sm);padding:0;margin:0;list-style:none}.dashboard-audit-list li,.dashboard-failed-jobs li{padding:var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-subtle)}.dashboard-failed-jobs li>div{align-items:center}.dashboard-failed-jobs li>div,.dashboard-failed-jobs li>p{display:flex;justify-content:space-between;gap:var(--space-sm)}.dashboard-failed-jobs li>p{flex-wrap:wrap;margin:var(--space-sm) 0;color:var(--color-text-muted);font-size:.8125rem}.dashboard-failed-jobs a{display:inline-flex;min-height:44px;align-items:center;font-weight:700}.dashboard-audit-list li{display:grid;grid-template-columns:minmax(0,1fr) max-content max-content;align-items:center;gap:var(--space-md)}.dashboard-audit-list :where(span,time){color:var(--color-text-muted);font-size:.8125rem}@media (max-width:720px){.dashboard-grid,.dashboard-stat-row,.receipt-distribution dl{grid-template-columns:minmax(0,1fr)}.dashboard-card--wide{grid-column:auto}.dashboard-audit-list li{grid-template-columns:minmax(0,1fr);gap:var(--space-xs)}}.participant-list__table td{overflow-wrap:anywhere}.audit-filters{margin-block-end:var(--space-lg)}.audit-filters,.audit-list-card{display:grid;gap:var(--space-base)}.audit-list__target{max-width:28rem;overflow-wrap:anywhere}.drawer__backdrop{position:fixed;z-index:100;display:grid;align-items:stretch;justify-items:end;background:rgb(16 24 21/.48);inset:0}.drawer__panel{width:min(100%,40rem);height:100%;padding:var(--space-xl);overflow-y:auto;border-inline-start:1px solid var(--color-border);background:var(--color-surface);box-shadow:-24px 0 64px rgb(16 24 21/.24)}.drawer__close{float:inline-end}.drawer__header{padding-inline-end:5rem}.drawer__header h2{margin:0}.drawer__header p{margin:var(--space-sm) 0 0;color:var(--color-text-muted);overflow-wrap:anywhere}.drawer__body{display:grid;gap:var(--space-lg);margin-block-start:var(--space-xl)}.audit-detail__metadata,.audit-detail__summary,.audit-detail__technical dl{display:grid;gap:var(--space-sm);margin:0}.audit-detail__metadata>div,.audit-detail__summary>div,.audit-detail__technical dl>div{display:grid;grid-template-columns:minmax(7rem,.7fr) minmax(0,1.3fr);gap:var(--space-sm);padding-block:var(--space-sm);border-block-end:1px solid var(--color-border)}.audit-detail__metadata dt,.audit-detail__summary dt,.audit-detail__technical dt{color:var(--color-text-muted);font-size:.75rem;font-weight:700}.audit-detail__metadata dd,.audit-detail__summary dd,.audit-detail__technical dd{min-width:0;margin:0;overflow-wrap:anywhere}.audit-detail__technical summary{min-height:44px;padding-block:var(--space-sm);cursor:pointer;font-weight:700}.action-row{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.form-field{display:grid;gap:var(--space-xs)}.participant-info-heading{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:var(--space-md);margin-block-end:var(--space-md)}.participant-info-heading>.card__heading{margin:0}.participant-study-summary__table{min-width:32rem}.participant-study-summary__link{appearance:none;border:0;background:transparent;color:var(--color-primary);cursor:pointer;font:inherit;font-weight:700;padding:0;text-align:left;text-decoration:underline;text-underline-offset:.18em}.participant-study-summary__link:hover{text-decoration-thickness:.12em}.participant-study-summary__link:focus-visible{border-radius:.2rem;outline:2px solid var(--color-primary);outline-offset:.2rem}.participant-study-summary__link:disabled{cursor:wait;opacity:.6}.participant-study-summary__current{font-weight:700}.participant-study-summary__error{color:var(--color-danger);margin:.75rem 0 0}.instagram-participant-field{width:min(100%,34rem);min-width:0;margin-inline-start:auto}.instagram-id-form{display:flex;flex-wrap:wrap;align-items:end;gap:var(--space-sm)}.instagram-id-form .form-field{flex:1 1 16rem;max-width:24rem;min-width:0}.instagram-id-form button{min-height:44px}.instagram-collection-options{margin-block-start:var(--space-sm)}.instagram-collection-options>summary{cursor:pointer;color:var(--color-text-muted);font-size:.8125rem}.instagram-extraction-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--space-sm);margin-block:var(--space-md)}.form-field label{color:var(--color-text-muted);font-size:.8125rem;font-weight:600}.form-field :where(input,select,textarea){min-height:44px;width:100%;padding:10px 12px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text)}.backup-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-md)}.backup-summary-grid .card{display:grid;gap:var(--space-xs)}.backup-help,.backup-summary-grid span{color:var(--color-text-muted);font-size:.8125rem;line-height:1.55}.backup-summary-grid strong{overflow-wrap:anywhere;font-size:1rem}.backup-action-row{display:grid;grid-template-columns:minmax(220px,1fr) max-content;align-items:end;gap:var(--space-md)}.backup-job-status{display:flex;align-items:center;gap:var(--space-sm);margin-block-start:var(--space-sm)}@media (max-width:480px){.backup-action-row{grid-template-columns:minmax(0,1fr)}.backup-action-row .button{width:100%}}.danger-zone{margin-block-start:var(--space-xl);border:1px solid var(--color-danger);border-radius:var(--radius-lg);background:var(--color-danger-soft)}.lifecycle-actions__summary{display:grid;min-height:56px;align-content:center;gap:2px;padding:var(--space-base) var(--space-lg);cursor:pointer}.lifecycle-actions__summary strong{color:var(--color-danger)}.lifecycle-actions__summary span{color:var(--color-text-muted);font-size:.8125rem}.lifecycle-actions--neutral{margin-block-start:var(--space-xl);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface)}.lifecycle-actions--neutral .lifecycle-actions__summary strong{color:var(--color-text)}.lifecycle-actions__body{display:grid;gap:var(--space-lg);padding:0 var(--space-lg) var(--space-lg)}.lifecycle-actions__body>section{padding:var(--space-base);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.lifecycle-actions__body>section>p{max-width:70ch}.deletion-count-summary{display:grid;gap:var(--space-sm);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin:0}.deletion-count-summary>div{padding:var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.deletion-count-summary dt{color:var(--color-text-muted);font-size:.75rem;font-weight:700}.deletion-count-summary dd{margin:var(--space-xs) 0 0;font-weight:750}.deletion-count-details>summary{min-height:44px;padding:var(--space-sm) 0;cursor:pointer;font-weight:700}.json-detail{max-height:560px;overflow:auto;padding:var(--space-base);border-radius:var(--radius-md);background:var(--color-code-surface);color:var(--color-code-text);font-size:.8125rem;line-height:1.55;white-space:pre-wrap;word-break:break-word}.json-detail,.mono{font-family:var(--font-data);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.auth-layout{display:grid;min-height:100dvh;place-items:center;padding:var(--space-lg);background:radial-gradient(circle at 12% 15%,rgb(20 108 99/.12),transparent 32rem),var(--color-canvas)}.auth-card{width:min(100%,420px);padding:var(--space-xl);border:1px solid var(--color-border);border-radius:var(--radius-mobile-card);background:var(--color-surface);box-shadow:0 24px 72px rgb(24 32 28/.1)}.auth-card__brand{margin-block-end:var(--space-lg);color:var(--color-primary);font-size:.75rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.auth-card h1{margin:0;font-size:1.75rem;letter-spacing:-.03em}.auth-card__description{margin:var(--space-sm) 0 var(--space-lg);color:var(--color-text-muted);font-size:.875rem;line-height:1.6}.admin-form{display:grid;gap:var(--space-base)}.admin-form--narrow{max-width:420px}.form-actions{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-block-start:var(--space-xs)}.form-actions button{min-height:44px}.action-stack{display:grid;gap:var(--space-sm)}.action-stack>button{min-height:44px}.data-table__compact{max-width:28rem;font-size:.75rem;overflow-wrap:anywhere}:is(.admin-shell,.auth-layout) button{min-height:44px;padding:10px 16px;border-color:var(--color-primary);border-radius:var(--radius-md);background:var(--color-primary);color:var(--color-surface);font-weight:700}:is(.admin-shell,.auth-layout) button:hover:not(:disabled){border-color:var(--color-primary-hover);background:var(--color-primary-hover)}:is(.admin-shell,.auth-layout) button.secondary{border-color:var(--color-border);background:var(--color-surface);color:var(--color-primary)}:is(.admin-shell,.auth-layout) button.danger{border-color:var(--color-danger);background:var(--color-surface);color:var(--color-danger)}:is(.admin-shell,.auth-layout) button.danger:hover:not(:disabled){border-color:var(--color-danger);background:var(--color-danger);color:var(--color-surface)}:is(.admin-shell,.auth-layout) button:disabled{border-color:var(--color-disabled);background:var(--color-disabled);color:var(--color-text-muted)}.participant-tabs{display:flex;gap:var(--space-sm);margin:0 0 var(--space-lg);padding-block-end:var(--space-xs);overflow-x:auto;scrollbar-width:thin}.participant-tabs a{display:inline-flex;min-height:44px;align-items:center;padding:9px 14px;border:1px solid var(--color-border);border-radius:var(--radius-full);background:var(--color-surface);color:var(--color-text);font-size:.8125rem;font-weight:650;white-space:nowrap}.participant-tabs a[aria-current=page]{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-surface)}.section-heading{margin:var(--space-lg) 0 var(--space-sm);font-size:1rem}.invite-code{margin-block:var(--space-base);color:var(--color-text);font-size:clamp(1.25rem,4vw,1.75rem);font-weight:750;letter-spacing:.08em;overflow-wrap:anywhere}.invite-handoff{display:grid;gap:var(--space-base);padding:var(--space-lg);border:1px solid var(--color-warning);border-radius:var(--radius-md);background:var(--color-warning-soft)}.invite-handoff>:where(h3,p){margin:0}.invite-handoff__content{display:grid;align-items:center;gap:var(--space-lg);grid-template-columns:minmax(0,1fr) auto}.invite-handoff__content img{max-width:100%;height:auto;padding:var(--space-sm);border:1px solid var(--color-border);border-radius:var(--radius-md);background:white}.invite-handoff__actions{margin:0}.expectation-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--space-sm);margin:0}.expectation-grid>div{padding:var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-subtle)}.expectation-grid dt{color:var(--color-text-muted);font-size:.75rem;font-weight:650}.expectation-grid dd{margin:var(--space-xs) 0 0;font-size:.875rem;font-weight:750}.pagination{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-md);margin-block-start:var(--space-base)}.pagination__summary{margin:0;color:var(--color-text-muted);font-size:.8125rem}.pagination__links{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-xs)}.pagination__links :is(a,span){display:inline-flex;min-height:44px;min-width:44px;align-items:center;justify-content:center;padding:9px 14px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);font-weight:700}.pagination__links a[aria-current=page]{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-surface)}.pagination__links span[aria-disabled=true]{color:var(--color-text-muted);opacity:.65}.error-state,.loading-state{display:grid;gap:var(--space-sm);padding:var(--space-lg);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface)}.loading-state{grid-template-columns:max-content minmax(0,1fr);align-items:center}.loading-state__indicator{width:1rem;height:1rem;border:2px solid var(--color-border);border-block-start-color:var(--color-primary);border-radius:var(--radius-full);animation:admin-loading-spin .8s linear infinite}.error-state{border-color:var(--color-danger);background:var(--color-danger-soft)}.error-state h2,.error-state p{margin:0}.error-state__action{margin-block-start:var(--space-xs)}.error{margin:var(--space-sm) 0;color:var(--color-danger);font-size:.875rem}.technical-code{display:block;margin-block-start:2px;color:var(--color-text-muted);font-family:var(--font-data);font-size:.6875rem;overflow-wrap:anywhere}.active-data-table,.active-data-table a,.active-data-table td,.active-data-table th{color:var(--color-text)}.active-data-summary{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.active-summary-badge{display:inline-flex;min-height:28px;align-items:center;gap:4px;padding:4px 10px;border-radius:var(--radius-full);background:var(--color-surface-subtle);color:var(--color-text);font-size:.75rem;white-space:nowrap}.active-summary-badge strong{color:var(--color-text);font-weight:750}.active-summary-badge--accent{background:var(--color-accent-soft)}.active-summary-empty{color:var(--color-text)}.active-score-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-base);margin:0;padding:0;list-style:none}.active-score-item{padding:var(--space-base);border-radius:var(--radius-md);background:var(--color-surface-subtle)}.active-score-item__heading{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-sm);margin-block-end:var(--space-sm);color:var(--color-text)}.active-score-item__heading strong{font-size:1rem}.active-score-item__track{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.active-score-step{height:8px;border-radius:var(--radius-full);background:var(--color-border)}.active-score-step.is-filled{background:var(--color-primary)}.active-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-base);margin:0}.active-detail-grid--two{grid-template-columns:repeat(2,minmax(0,1fr))}.active-detail-item{min-width:0;padding:var(--space-base);border-radius:var(--radius-md);background:var(--color-surface-subtle)}.active-detail-item dt{margin-block-end:var(--space-xs);color:var(--color-text-muted);font-size:.75rem;font-weight:700}.active-detail-item dd{margin:0;color:var(--color-text);font-weight:700;overflow-wrap:anywhere}.active-detail-table{margin-block-start:var(--space-base)}@media (max-width:767px){.active-detail-grid,.active-detail-grid--two,.active-score-list{grid-template-columns:minmax(0,1fr)}}@keyframes admin-loading-spin{to{transform:rotate(1turn)}}.permission-device+.permission-device{margin-block-start:var(--space-lg);padding-block-start:var(--space-lg);border-block-start:1px solid var(--color-border)}.lifecycle-actions .data-table-scroll{background:var(--color-surface);border-radius:var(--radius-md)}.choice-fieldset{display:flex;flex-wrap:wrap;gap:var(--space-sm);padding:0;border:0}.choice-fieldset legend{width:100%;margin-block-end:var(--space-sm);color:var(--color-text-muted);font-size:.8125rem;font-weight:700}.choice-control{display:inline-flex;min-height:44px;align-items:center;gap:var(--space-sm);padding:8px 12px;margin:0;border:1px solid var(--color-border);border-radius:var(--radius-full);background:var(--color-surface);color:var(--color-text)}.choice-control input{width:18px;height:18px;margin:0;accent-color:var(--color-primary)}.field-help,.muted,.scope-note{color:var(--color-text-muted);font-size:.8125rem;line-height:1.55}.table-actions{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-sm)}.table-actions a{display:inline-flex;min-height:44px;align-items:center}.table-actions button{min-height:44px;padding:7px 11px;font-size:.8125rem}.quality-summary{margin:var(--space-base) 0 0;color:var(--color-text-muted);display:flex;flex-wrap:wrap;font-size:.875rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;gap:var(--space-md)}.metric-trend-grid{display:grid;gap:var(--space-md);grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.metric-trend{min-width:0;margin:0;padding:var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-subtle)}.metric-trend figcaption{margin-block-end:var(--space-sm);color:var(--color-text);font-size:.8125rem;font-weight:700}.metric-sparkline{display:block;width:100%;height:52px;overflow:visible}.metric-sparkline__axis{stroke:var(--color-border);stroke-width:1}.metric-sparkline__line{fill:none;stroke:var(--color-accent);stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.metric-sparkline__point{fill:var(--color-accent)}.data-table__selected{background:var(--color-accent-soft)}@media (max-width:767px){.page-header{flex-direction:column}.page-header__actions{width:100%}.page-header__actions>*{flex:1 1 auto}.card{padding:var(--space-base);border-radius:var(--radius-mobile-card)}.participant-status-filter{overflow-x:auto}.participant-status-filter ul{min-width:42rem}.participant-list-toolbar{grid-template-columns:minmax(0,1fr)}.participant-list-toolbar button{width:100%}.invite-handoff__content{grid-template-columns:minmax(0,1fr)}.participant-list-card .data-table-scroll{overflow:visible;box-shadow:none}.participant-list-card .data-table-region__hint{display:none}.participant-list__table,.participant-list__table tbody{display:block;min-width:0;width:100%}.participant-list__table thead{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.participant-list__card{display:grid;gap:var(--space-sm);max-width:100%;min-width:0;margin-block-end:var(--space-base);padding:var(--space-base);border:1px solid var(--color-border);border-radius:var(--radius-mobile-card);background:var(--color-surface)}.participant-list__card:last-child{margin-block-end:0}.participant-list__card td{display:grid;grid-template-columns:minmax(7rem,.8fr) minmax(0,1.2fr);gap:var(--space-sm);min-height:0;padding:0;border:0;overflow-wrap:anywhere}.participant-list__card td:before{color:var(--color-text-muted);content:attr(data-label);font-size:.75rem;font-weight:700}.participant-list__card .participant-list__name{order:1;font-size:1rem;font-weight:750}.participant-list__card .participant-list__mytrace-id{order:2}.participant-list__card .participant-list__numbering{order:3}.participant-list__card .participant-list__recent-state{order:4}.participant-list__card .participant-list__patient-info{order:5;min-width:0}.participant-list__card .participant-list__exam-start,.participant-list__patient-info span:first-child,.participant-list__patient-info span:last-child{display:none}.participant-list__card .participant-list__platform{order:6}.participant-list__card .participant-list__last-exam{order:7}.participant-list__card .participant-list__report{order:8;display:block;margin-block-start:var(--space-xs)}.participant-list__report:before{display:none}.participant-list__report-link{min-height:44px;width:100%;justify-content:center;border:1px solid var(--color-border-strong);border-radius:var(--radius-md)}.drawer__panel{width:100%;padding:var(--space-base)}.audit-detail__metadata>div,.audit-detail__summary>div,.audit-detail__technical dl>div{grid-template-columns:1fr}}.single-report__header-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-sm)}button.secondary-link{font:inherit;font-weight:700;cursor:pointer}.report-period-dialog__backdrop{position:fixed;inset:0;z-index:40;display:grid;place-items:center;padding:var(--space-base);background:rgb(24 32 28/.4)}.report-period-dialog{width:min(400px,100%);padding:var(--space-lg);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:0 18px 44px rgb(24 32 28/.25)}.report-period-dialog__title{margin:0;font-size:1.05rem}.report-period-dialog__patient{margin:var(--space-sm) 0 0;font-weight:700}.report-period-dialog__exam-range{margin:var(--space-xs) 0 0;color:var(--color-text-muted);font-size:.85rem}.report-period-dialog__fields{display:flex;align-items:flex-end;gap:var(--space-sm);margin-block-start:var(--space-base)}.report-period-dialog__fields>span{padding-block-end:10px;color:var(--color-text-muted)}.report-period-dialog__field{position:relative;display:grid;flex:1 1;gap:var(--space-xs)}.report-period-dialog__field label{color:var(--color-text-muted);font-size:.75rem;font-weight:700}.report-period-dialog__field input{width:100%;padding:8px 10px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-subtle);font:inherit;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;cursor:pointer}.report-period-calendar{position:absolute;top:calc(100% + 6px);left:0;z-index:10;width:264px;padding:var(--space-sm);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:0 12px 28px rgb(24 32 28/.18)}.report-period-dialog__field:last-of-type .report-period-calendar{left:auto;right:0}.report-period-calendar__head{display:flex;align-items:center;justify-content:space-between;padding:2px 4px 6px}.report-period-calendar__head button{min-height:32px;padding:0 10px;border:none;background:none;color:var(--color-text-muted);font-size:1rem;cursor:pointer}.report-period-calendar__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;text-align:center}.report-period-calendar__weekday{padding:4px 0;color:var(--color-text-muted);font-size:.65rem;font-weight:700}.report-period-calendar__day{padding:6px 0;border:none;border-radius:var(--radius-sm);background:none;font:inherit;font-size:.8rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;cursor:pointer}.report-period-calendar__day:hover:not(:disabled){background:var(--color-surface-subtle)}.report-period-calendar__day--selected,.report-period-calendar__day--selected:hover:not(:disabled){background:var(--color-primary);color:#fff;font-weight:700}.report-period-calendar__day:disabled{background:none;color:var(--color-disabled);cursor:default}.report-period-dialog__presets{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-block-start:var(--space-base)}.report-period-dialog__presets button{padding:4px 14px;border:1px solid var(--color-border);border-radius:var(--radius-full);background:var(--color-surface);color:var(--color-text-muted);font:inherit;font-size:.8rem;cursor:pointer}.report-period-dialog__presets button:hover{background:var(--color-surface-subtle)}.report-period-dialog__error{margin:var(--space-sm) 0 0;color:var(--color-danger);font-size:.85rem}.report-period-dialog__actions{display:flex;justify-content:flex-end;gap:var(--space-sm);margin-block-start:var(--space-lg)}.report-period-dialog__cancel{padding:8px 12px;border:none;background:none;color:var(--color-text-muted);font:inherit;cursor:pointer}.report-period-dialog__generate{padding:10px 18px;border:none;border-radius:var(--radius-md);background:var(--color-primary);color:#fff;font:inherit;font-weight:700;cursor:pointer}.report-period-dialog__generate:hover:not(:disabled){background:var(--color-primary-hover)}.report-period-dialog__generate:disabled{background:var(--color-disabled);cursor:default}.destructive-unlock{display:inline-flex;align-items:center;gap:var(--space-sm);min-height:44px;font-weight:650}.destructive-unlock input{width:18px;height:18px}.study-membership-list,.study-membership-list ul{display:grid;gap:var(--space-xs);padding:0;margin:0;list-style:none}.study-membership-list li{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-sm)}.study-membership-list__name{font-weight:700}.study-membership-list__period{color:var(--color-text-muted);font-size:.8125rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.card__subheading{margin:var(--space-lg) 0 var(--space-sm);font-size:1rem;font-weight:700}.study-enrollment-form+.study-enrollment-form{border-top:1px solid var(--color-border);margin-top:var(--space-base)}.study-enrollment-form{display:grid;gap:var(--space-xs);padding-block:var(--space-xs) var(--space-base)}.study-enrollment-form .card__subheading{margin:var(--space-sm) 0 0}.study-enrollment-form__body{display:flex;flex-wrap:wrap;align-items:end;gap:var(--space-sm)}.study-enrollment-form__code{flex:0 1 12rem;min-width:9rem}.study-enrollment-form__code input{letter-spacing:.08em}.study-enrollment-form__body button{min-height:44px}.study-enrollment-form__dirty{margin:0;color:var(--color-warning);font-size:.8125rem;font-weight:600}