:root{--fm-neutral-paper: #FAFAF8;--fm-neutral-100: #EDEDEE;--fm-neutral-200: #C9C9CD;--fm-neutral-300: #A0A0A6;--fm-neutral-400: #76767D;--fm-neutral-500: #56565C;--fm-neutral-600: #3A3A40;--fm-neutral-800: #1E1E22;--fm-neutral-900: #17171A;--fm-neutral-ink: #0A0A0B;--fm-bg: #FAFAF8;--fm-fg: #0A0A0B;--fm-border: #C9C9CD;--fm-muted: #76767D;--fm-subtle: #EDEDEE;--fm-success-solid: #2E5E3E;--fm-success-soft: #EEF2ED;--fm-success-dark: #7FB590;--fm-success-dark-soft: #1A2820;--fm-warning-solid: #8A6A1F;--fm-warning-soft: #F5EFE1;--fm-warning-dark: #D4B26A;--fm-warning-dark-soft: #2A2318;--fm-error-solid: #8B2E2E;--fm-error-soft: #F4EAE8;--fm-error-dark: #D08A8A;--fm-error-dark-soft: #2A1C1C;--fm-progress-solid: #2F5774;--fm-progress-soft: #E8F1F7;--fm-progress-dark: #88B0CB;--fm-progress-dark-soft: #182535;--fm-radius-xs: 4px;--fm-radius-sm: 6px;--fm-radius-md: 10px;--fm-radius-lg: 14px;--fm-radius-xl: 20px;--fm-radius-full: 9999px;--fm-space-1: 4px;--fm-space-2: 8px;--fm-space-3: 12px;--fm-space-4: 16px;--fm-space-5: 20px;--fm-space-6: 24px;--fm-space-7: 28px;--fm-space-8: 32px;--fm-space-9: 36px;--fm-space-10: 40px;--fm-space-11: 44px;--fm-space-12: 48px;--fm-font-body: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--fm-font-mono: "Geist Mono", "Cascadia Code", Consolas, monospace;--fm-font-display: "CalSans-SemiBold", -apple-system, BlinkMacSystemFont, sans-serif;--fm-font-size-xs: 12px;--fm-font-size-sm: 14px;--fm-font-size-md: 16px;--fm-font-size-lg: 18px;--fm-font-size-xl: 20px;--fm-font-size-2xl: 24px;--fm-font-size-3xl: 30px;--fm-font-size-4xl: 36px;--fm-font-weight-regular: 400;--fm-font-weight-medium: 500;--fm-font-weight-semibold: 600;--fm-font-weight-bold: 700;--fm-shadow-sm: 0 1px 3px rgba(10,10,11,.06), 0 1px 2px rgba(10,10,11,.04);--fm-shadow-md: 0 4px 6px rgba(10,10,11,.07), 0 2px 4px rgba(10,10,11,.06);--fm-shadow-lg: 0 10px 15px rgba(10,10,11,.08), 0 4px 6px rgba(10,10,11,.05);--fm-shadow-xl: 0 20px 25px rgba(10,10,11,.1), 0 10px 10px rgba(10,10,11,.04);--fm-z-dropdown: 100;--fm-z-sticky: 200;--fm-z-overlay: 300;--fm-z-modal: 400;--fm-z-nested-overlay: 500;--fm-z-nested-modal: 600;--fm-z-popup: 700;--fm-z-toast: 800}.fm-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--fm-space-2);font-family:var(--fm-font-body);font-weight:var(--fm-font-weight-medium);border-radius:var(--fm-radius-md);border:1px solid transparent;cursor:pointer;transition:background .12s,opacity .12s,border-color .12s;white-space:nowrap;text-decoration:none;line-height:1;flex-shrink:0}.fm-btn:focus-visible{outline:2px solid var(--fm-fg);outline-offset:2px}.fm-btn:disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.fm-btn-xs{height:26px;font-size:12px;padding:0 10px}.fm-btn-sm{height:30px;font-size:13px;padding:0 12px}.fm-btn-md{height:36px;font-size:14px;padding:0 16px}.fm-btn-lg{height:42px;font-size:15px;padding:0 20px}.fm-btn-xl{height:50px;font-size:16px;padding:0 24px}.fm-btn-fullwidth{width:100%}.fm-btn-filled{background:var(--fm-fg);color:var(--fm-bg)}.fm-btn-default{background:var(--fm-bg);color:var(--fm-fg);border-color:var(--fm-border)}.fm-btn-subtle{background:transparent;color:var(--fm-fg)}.fm-btn-outline{background:transparent;color:var(--fm-fg);border-color:var(--fm-fg)}.fm-btn-filled:not(:disabled):hover{opacity:.82}.fm-btn-default:not(:disabled):hover{background:var(--fm-subtle)}.fm-btn-subtle:not(:disabled):hover{background:var(--fm-subtle)}.fm-btn-outline:not(:disabled):hover{background:var(--fm-subtle)}.fm-btn-color-error.fm-btn-filled{background:var(--fm-error-solid);color:#fff;border-color:transparent}.fm-btn-color-error.fm-btn-outline{color:var(--fm-error-solid);border-color:var(--fm-error-solid)}.fm-btn-color-error.fm-btn-subtle{color:var(--fm-error-solid)}.fm-btn-color-error.fm-btn-outline:not(:disabled):hover{background:var(--fm-error-soft)}.fm-btn-color-error.fm-btn-subtle:not(:disabled):hover{background:var(--fm-error-soft)}.fm-btn-color-error.fm-btn-filled:not(:disabled):hover{opacity:.82}.fm-btn-color-success.fm-btn-filled{background:var(--fm-success-solid);color:#fff}.fm-btn-color-success.fm-btn-filled:not(:disabled):hover{opacity:.82}.fm-action-icon{padding:0;border-radius:var(--fm-radius-md)}.fm-action-icon-xs{width:26px;height:26px}.fm-action-icon-sm{width:30px;height:30px}.fm-action-icon-md{width:36px;height:36px}.fm-action-icon-lg{width:42px;height:42px}.fm-action-icon-xl{width:48px;height:48px}.fm-action-icon-radius-xl{border-radius:50%}.fm-field{display:flex;flex-direction:column;gap:4px}.fm-field-label{font-size:var(--fm-font-size-sm);font-weight:var(--fm-font-weight-medium);color:var(--fm-fg)}.fm-field-desc{font-size:var(--fm-font-size-xs);color:var(--fm-muted)}.fm-field-error{font-size:var(--fm-font-size-xs);color:var(--fm-error-solid)}.fm-input-wrap{position:relative;display:flex;align-items:center}.fm-input-section{position:absolute;top:50%;transform:translateY(-50%);color:var(--fm-muted);display:flex;pointer-events:none}.fm-input-section-left{left:10px}.fm-input-section-right{right:10px}.fm-input{width:100%;height:44px;min-height:44px;padding:0 12px;font-family:var(--fm-font-body);font-size:var(--fm-font-size-sm);color:var(--fm-fg);background:var(--fm-bg);border:1px solid var(--fm-border);border-radius:var(--fm-radius-md);outline:none;transition:border-color .12s;box-sizing:border-box;appearance:textfield}.fm-input::-webkit-outer-spin-button,.fm-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.fm-input::placeholder{color:var(--fm-muted)}.fm-input:focus{border-color:var(--fm-fg)}.fm-input:disabled{opacity:.45;cursor:not-allowed;background:var(--fm-subtle)}.fm-input--error{border-color:var(--fm-error-solid)}.fm-input--error:focus{border-color:var(--fm-error-solid)}.fm-input--has-left{padding-left:34px}.fm-input--has-right{padding-right:34px}.fm-textarea{height:auto;min-height:80px;padding:8px 12px;resize:vertical}.fm-checkbox-root{display:flex;align-items:center;gap:8px;cursor:pointer;user-select:none}.fm-checkbox-box{width:16px;height:16px;flex-shrink:0;border:1.5px solid var(--fm-border);border-radius:var(--fm-radius-xs);background:var(--fm-bg);display:flex;align-items:center;justify-content:center;transition:background .12s,border-color .12s}.fm-checkbox-box--checked{background:var(--fm-fg);border-color:var(--fm-fg)}.fm-checkbox-label{font-size:var(--fm-font-size-sm);color:var(--fm-fg)}.fm-group-grow>*{flex:1}@keyframes fm-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.fm-skeleton{background:linear-gradient(90deg,var(--fm-subtle) 25%,var(--fm-neutral-200) 50%,var(--fm-subtle) 75%);background-size:200% 100%;animation:fm-shimmer 1.4s ease-in-out infinite;border-radius:var(--fm-radius-sm)}@keyframes fm-spin{to{transform:rotate(360deg)}}.fm-loader{border:2px solid var(--fm-border);border-top-color:var(--fm-fg);border-radius:50%;animation:fm-spin .7s linear infinite;flex-shrink:0}@keyframes fm-pulse{0%,to{opacity:1}50%{opacity:.5}}.fm-indicator-processing{animation:fm-pulse 1.4s ease-in-out infinite}@keyframes fm-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes fm-overlay-out{0%{opacity:1}to{opacity:0}}@keyframes fm-modal-in{0%{opacity:0;scale:.97}to{opacity:1;scale:1}}@keyframes fm-modal-out{0%{opacity:1;scale:1}to{opacity:0;scale:.97}}@keyframes fm-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes fm-slide-down{0%{transform:translateY(0)}to{transform:translateY(100%)}}.fm-overlay{position:fixed;inset:0;background:#00000073;z-index:var(--fm-z-overlay)}.fm-overlay[data-state=open]{animation:fm-overlay-in .15s ease}.fm-overlay[data-state=closed]{animation:fm-overlay-out .15s ease}.fm-modal-content{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--fm-bg);border:1px solid var(--fm-border);border-radius:var(--fm-radius-lg);box-shadow:var(--fm-shadow-xl);z-index:var(--fm-z-modal);padding:var(--fm-space-6);max-height:min(90vh,720px);overflow-y:auto;display:flex;flex-direction:column;gap:var(--fm-space-4);width:90vw}.fm-modal-content[data-state=open]{animation:fm-modal-in .18s ease}.fm-modal-content[data-state=closed]{animation:fm-modal-out .15s ease}.fm-modal-sm{max-width:400px}.fm-modal-md{max-width:520px}.fm-modal-lg{max-width:700px}.fm-modal-xl{max-width:900px}.fm-modal-2xl{max-width:1200px}.fm-modal-full{max-width:95vw;width:95vw}.fm-modal-header{display:flex;align-items:center;justify-content:space-between;gap:var(--fm-space-3);flex-shrink:0}.fm-modal-title{margin:0;font-size:var(--fm-font-size-lg);font-weight:var(--fm-font-weight-semibold);color:var(--fm-fg);font-family:var(--fm-font-display);line-height:1.3}.fm-drawer-content{position:fixed;bottom:0;left:0;right:0;background:var(--fm-bg);border:1px solid var(--fm-border);border-radius:var(--fm-radius-xl) var(--fm-radius-xl) 0 0;box-shadow:var(--fm-shadow-xl);z-index:var(--fm-z-modal);padding:var(--fm-space-4) var(--fm-space-4) env(safe-area-inset-bottom,var(--fm-space-6));max-height:90vh;overflow-y:auto;display:flex;flex-direction:column;gap:var(--fm-space-4)}.fm-drawer-content[data-state=open]{animation:fm-slide-up .25s ease}.fm-drawer-content[data-state=closed]{animation:fm-slide-down .2s ease}.fm-drawer-handle{width:40px;height:4px;border-radius:var(--fm-radius-full);background:var(--fm-border);margin:0 auto var(--fm-space-3);flex-shrink:0}.fm-select-trigger{width:100%;height:44px;padding:0 10px 0 12px;font-family:var(--fm-font-body);font-size:var(--fm-font-size-sm);color:var(--fm-fg);background:var(--fm-bg);border:1px solid var(--fm-border);border-radius:var(--fm-radius-md);display:flex;align-items:center;justify-content:space-between;gap:8px;cursor:pointer;outline:none;transition:border-color .12s;box-sizing:border-box;text-align:left}.fm-select-trigger[data-state=open]{border-color:var(--fm-fg)}.fm-select-trigger:focus-visible{outline:2px solid var(--fm-fg);outline-offset:2px}.fm-select-trigger:disabled{opacity:.45;cursor:not-allowed}.fm-select-trigger--error{border-color:var(--fm-error-solid)}.fm-select-trigger [data-radix-select-placeholder]{color:var(--fm-muted)}.fm-select-empty{padding:12px;font-size:var(--fm-font-size-sm);color:var(--fm-muted);text-align:center}.fm-select-summary-pill{display:inline-flex;align-items:center;background:var(--fm-subtle);border-radius:var(--fm-radius-xs);padding:1px 6px;font-size:var(--fm-font-size-xs);white-space:nowrap}.fm-select-toolbar{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;border-bottom:1px solid var(--fm-border);font-size:var(--fm-font-size-xs);color:var(--fm-muted)}.fm-select-toolbar button{background:none;border:none;cursor:pointer;padding:2px 6px;font-size:var(--fm-font-size-xs);color:var(--fm-fg);border-radius:var(--fm-radius-xs)}.fm-select-toolbar button:hover{background:var(--fm-subtle)}.fm-select-content{background:var(--fm-bg);border:1px solid var(--fm-border);border-radius:var(--fm-radius-md);box-shadow:var(--fm-shadow-lg);z-index:var(--fm-z-popup);overflow:hidden;min-width:var(--radix-select-trigger-width);max-height:min(var(--radix-select-content-available-height),320px)}.fm-select-content[data-state=open]{animation:fm-modal-in .12s ease}.fm-select-content[data-state=closed]{animation:fm-modal-out .1s ease}.fm-select-search{padding:6px 6px 0}.fm-select-search input{width:100%;height:30px;padding:0 10px;font-family:var(--fm-font-body);font-size:var(--fm-font-size-sm);border:1px solid var(--fm-border);border-radius:var(--fm-radius-sm);background:var(--fm-bg);color:var(--fm-fg);outline:none;box-sizing:border-box}.fm-select-search input:focus{border-color:var(--fm-fg)}.fm-select-viewport{padding:4px}.fm-select-item{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;font-size:var(--fm-font-size-sm);color:var(--fm-fg);border-radius:var(--fm-radius-sm);cursor:pointer;outline:none;user-select:none;gap:8px}.fm-select-item[data-highlighted]{background:var(--fm-subtle)}.fm-select-item[data-disabled]{opacity:.45;cursor:not-allowed}.fm-select-item[data-state=checked]{font-weight:var(--fm-font-weight-medium)}.fm-select-item-indicator{color:var(--fm-muted);display:flex;align-items:center;flex-shrink:0}.fm-autocomplete-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--fm-bg);border:1px solid var(--fm-border);border-radius:var(--fm-radius-md);box-shadow:var(--fm-shadow-lg);z-index:var(--fm-z-dropdown);overflow:hidden;max-height:240px;overflow-y:auto;padding:4px}.fm-autocomplete-item{padding:6px 10px;font-size:var(--fm-font-size-sm);color:var(--fm-fg);border-radius:var(--fm-radius-sm);cursor:pointer;user-select:none}.fm-autocomplete-item:hover{background:var(--fm-subtle)}.fm-simple-grid{display:grid}.fm-account-grid{display:grid;grid-template-columns:1fr;gap:var(--fm-space-4)}@media(min-width:1096px){.fm-account-grid{grid-template-columns:repeat(3,1fr);grid-auto-rows:1fr}}.fm-card{background:var(--fm-bg);border-radius:var(--fm-radius-lg);overflow:hidden}.fm-card--bordered{border:1px solid var(--fm-border)}.fm-alert{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:var(--fm-radius-md);font-size:var(--fm-font-size-sm)}.fm-alert--warning{background:var(--fm-warning-soft);color:var(--fm-warning-solid)}.fm-alert--error{background:var(--fm-error-soft);color:var(--fm-error-solid)}.fm-alert--success{background:var(--fm-success-soft);color:var(--fm-success-solid)}.fm-alert-icon{flex-shrink:0;margin-top:1px}.fm-banner{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border-radius:var(--fm-radius-md);border:1px solid transparent;font-size:var(--fm-font-size-sm)}.fm-banner-icon{flex-shrink:0;margin-top:2px}.fm-banner-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.fm-banner-title{font-weight:500}.fm-banner-action{flex-shrink:0;align-self:center}.fm-banner--info{background:var(--fm-bg);color:var(--fm-fg);border-color:var(--fm-border)}.fm-banner--warning{background:var(--fm-warning-soft);color:var(--fm-warning-solid);border-color:var(--fm-warning-solid)}.fm-banner--error{background:var(--fm-error-soft);color:var(--fm-error-solid);border-color:var(--fm-error-solid)}.fm-banner--success{background:var(--fm-success-soft);color:var(--fm-success-solid);border-color:var(--fm-success-solid)}.fm-banner--muted{background:var(--fm-bg);color:var(--fm-muted);border-color:var(--fm-border)}.fm-tooltip-wrap{position:relative;display:inline-flex}.fm-tooltip-wrap .fm-tooltip-label{position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);background:var(--fm-neutral-ink);color:var(--fm-neutral-paper);font-size:var(--fm-font-size-xs);padding:4px 8px;border-radius:var(--fm-radius-sm);white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .12s;z-index:var(--fm-z-dropdown)}.fm-tooltip-wrap:hover .fm-tooltip-label{opacity:1}.fm-table{width:100%;border-collapse:collapse;font-size:var(--fm-font-size-sm)}.fm-table--bordered{border:1px solid var(--fm-border)}.fm-table--col-borders td,.fm-table--col-borders th{border-right:1px solid var(--fm-border)}.fm-table--col-borders td:last-child,.fm-table--col-borders th:last-child{border-right:none}.fm-table th{font-weight:var(--fm-font-weight-semibold);text-align:left;color:var(--fm-fg);padding:8px 12px;border-bottom:1px solid var(--fm-border)}.fm-table td{padding:8px 12px;border-bottom:1px solid var(--fm-border);color:var(--fm-fg)}.fm-table--striped tbody tr:nth-child(2n){background:var(--fm-subtle)}.fm-table--highlight tbody tr:hover{background:var(--fm-subtle)}.fm-segmented{display:inline-flex;gap:2px;background:var(--fm-subtle);border:1px solid var(--fm-border);border-radius:var(--fm-radius-md);padding:2px}.fm-segmented-item{padding:5px 12px;font-size:var(--fm-font-size-sm);font-weight:var(--fm-font-weight-medium);border-radius:var(--fm-radius-sm);cursor:pointer;color:var(--fm-muted);background:transparent;border:none;transition:background .12s,color .12s;white-space:nowrap}.fm-segmented-item--active{background:var(--fm-bg);color:var(--fm-fg);box-shadow:var(--fm-shadow-sm)}.fm-segmented-item:not(.fm-segmented-item--active):hover{color:var(--fm-fg)}.fm-tabs{display:flex;flex-direction:column}.fm-tabs-list{display:flex;flex-direction:row;gap:var(--fm-space-1);overflow-x:auto;scrollbar-width:none}.fm-tabs-list::-webkit-scrollbar{display:none}.fm-tab{display:inline-flex;align-items:center;gap:6px;padding:var(--fm-space-2) var(--fm-space-3);border-radius:var(--fm-radius-md);font-size:var(--fm-font-size-sm);font-weight:var(--fm-font-weight-medium);color:var(--fm-muted);background:transparent;border:none;cursor:pointer;white-space:nowrap;transition:background .12s,color .12s}.fm-tab:hover{background:var(--fm-subtle);color:var(--fm-fg)}.fm-tab--active{background:var(--fm-subtle);color:var(--fm-fg);font-weight:var(--fm-font-weight-semibold)}.fm-tab--action{border:1px dashed var(--fm-border);color:var(--fm-muted);background:transparent}.fm-tab--action:hover{background:var(--fm-subtle);color:var(--fm-fg);border-color:var(--fm-fg)}.fm-tab-panel{display:none}.fm-tab-panel--active{display:block;padding-top:var(--fm-space-3)}.fm-row-interactive{cursor:pointer;transition:background-color 80ms ease}.fm-row-interactive:hover{background:var(--fm-subtle)}.fm-row-interactive:active{background:var(--fm-border)}.fm-radio-group{display:flex;flex-direction:column;gap:8px}.fm-radio-root{display:flex;align-items:center;gap:8px;cursor:pointer}.fm-radio-circle{width:16px;height:16px;flex-shrink:0;border:1.5px solid var(--fm-border);border-radius:50%;background:var(--fm-bg);display:flex;align-items:center;justify-content:center;transition:border-color .12s}.fm-radio-circle--checked{border-color:var(--fm-fg)}.fm-radio-dot{width:8px;height:8px;border-radius:50%;background:var(--fm-fg)}.fm-radio-label{font-size:var(--fm-font-size-sm);color:var(--fm-fg)}.fm-pagination{display:flex;align-items:center;gap:4px}.fm-pagination-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:var(--fm-font-size-sm);border:1px solid var(--fm-border);border-radius:var(--fm-radius-sm);background:var(--fm-bg);color:var(--fm-fg);cursor:pointer;transition:background .12s}.fm-pagination-btn:hover{background:var(--fm-subtle)}.fm-pagination-btn--active{background:var(--fm-fg);color:var(--fm-bg);border-color:var(--fm-fg)}.fm-pagination-btn:disabled{opacity:.4;cursor:not-allowed}.fm-switch-root{display:inline-flex;align-items:center;gap:8px;cursor:pointer;user-select:none}.fm-switch-root input{display:none}.fm-switch-track{position:relative;flex-shrink:0;border-radius:var(--fm-radius-full);background:var(--fm-border);transition:background .15s}.fm-switch-track--sm{width:32px;height:18px}.fm-switch-track--md{width:40px;height:22px}.fm-switch-thumb{position:absolute;top:50%;transform:translateY(-50%);border-radius:50%;background:#fff;transition:left .15s;box-shadow:0 1px 3px #0003}.fm-switch-track--sm .fm-switch-thumb{width:14px;height:14px;left:2px}.fm-switch-track--md .fm-switch-thumb{width:18px;height:18px;left:2px}.fm-switch-root input:checked+.fm-switch-track{background:var(--fm-fg)}.fm-switch-track--sm:has(~input:not(:checked)) .fm-switch-thumb,.fm-switch-root input:not(:checked)+.fm-switch-track .fm-switch-thumb{left:2px}.fm-switch-root input:checked+.fm-switch-track.fm-switch-track--sm .fm-switch-thumb{left:16px}.fm-switch-root input:checked+.fm-switch-track.fm-switch-track--md .fm-switch-thumb{left:20px}.fm-menu-content{background:var(--fm-bg);border:1px solid var(--fm-border);border-radius:var(--fm-radius-md);box-shadow:var(--fm-shadow-lg);z-index:var(--fm-z-popup);padding:4px;min-width:180px;overflow:hidden}.fm-menu-content[data-state=open]{animation:fm-modal-in .12s ease}.fm-menu-content[data-state=closed]{animation:fm-modal-out .1s ease}.fm-menu-item{display:flex;align-items:center;gap:8px;padding:6px 10px;font-size:var(--fm-font-size-sm);color:var(--fm-fg);border-radius:var(--fm-radius-sm);cursor:pointer;outline:none;user-select:none}.fm-menu-item[data-highlighted]{background:var(--fm-subtle)}.fm-menu-item[data-disabled]{opacity:.45;cursor:not-allowed}.fm-menu-item-left{color:var(--fm-muted);display:flex;align-items:center;flex-shrink:0}.fm-menu-item-right{margin-left:auto;color:var(--fm-muted);display:flex;align-items:center}.fm-menu-separator{height:1px;background:var(--fm-border);margin:4px 0}[data-fm-color-scheme=dark]{--fm-bg: #0A0A0B;--fm-fg: #FAFAF8;--fm-border: #3A3A40;--fm-muted: #56565C;--fm-subtle: #1E1E22;--fm-success-solid: #7FB590;--fm-success-soft: #1A2820;--fm-warning-solid: #D4B26A;--fm-warning-soft: #2A2318;--fm-error-solid: #D08A8A;--fm-error-soft: #2A1C1C;--fm-progress-solid: #88B0CB;--fm-progress-soft: #182535;--fm-shadow-sm: 0 1px 3px rgba(0,0,0,.3), 0 1px 2px rgba(0,0,0,.2);--fm-shadow-md: 0 4px 6px rgba(0,0,0,.35), 0 2px 4px rgba(0,0,0,.3);--fm-shadow-lg: 0 10px 15px rgba(0,0,0,.4), 0 4px 6px rgba(0,0,0,.25);--fm-shadow-xl: 0 20px 25px rgba(0,0,0,.5), 0 10px 10px rgba(0,0,0,.2)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;width:100%}body{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:var(--fm-font-size-md);color:var(--fm-fg);background:var(--fm-bg);-webkit-font-smoothing:antialiased;overscroll-behavior:none}.sc-root{display:flex;flex-direction:column;height:100%;max-width:600px;margin:0 auto;position:relative}.sc-screen{flex:1;display:flex;flex-direction:column;overflow-y:auto;padding:var(--fm-space-4);padding-bottom:env(safe-area-inset-bottom,var(--fm-space-6));gap:var(--fm-space-4)}.sc-screen-center{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--fm-space-6);gap:var(--fm-space-4);text-align:center}.sc-title{font-size:var(--fm-font-size-2xl);font-weight:700;color:var(--fm-fg);line-height:1.2}.sc-subtitle{font-size:var(--fm-font-size-sm);color:var(--fm-muted);line-height:1.5}.sc-label{font-size:var(--fm-font-size-xs);font-weight:600;color:var(--fm-muted);text-transform:uppercase;letter-spacing:.05em}.sc-big-btn{display:flex;align-items:center;justify-content:center;width:100%;min-height:56px;font-size:var(--fm-font-size-md);font-weight:600;font-family:system-ui,sans-serif;border:none;border-radius:var(--fm-radius-lg);cursor:pointer;transition:opacity .12s,background .12s;gap:var(--fm-space-2)}.sc-big-btn:disabled{opacity:.45;cursor:not-allowed}.sc-big-btn--primary{background:var(--fm-fg);color:var(--fm-bg)}.sc-big-btn--primary:not(:disabled):hover{opacity:.85}.sc-big-btn--warning{background:var(--fm-warning-solid);color:#fff}.sc-big-btn--warning:not(:disabled):hover{opacity:.85}.sc-big-btn--ghost{background:transparent;color:var(--fm-muted);border:1px solid var(--fm-border)}.sc-big-btn--ghost:not(:disabled):hover{background:var(--fm-subtle);color:var(--fm-fg)}.sc-search-wrap{position:relative;display:flex;align-items:center}.sc-search-icon{position:absolute;left:var(--fm-space-3);color:var(--fm-muted);pointer-events:none;display:flex}.sc-search-input{width:100%;height:52px;padding:0 var(--fm-space-10) 0 var(--fm-space-10);font-size:var(--fm-font-size-md);font-family:system-ui,sans-serif;color:var(--fm-fg);background:var(--fm-bg);border:1px solid var(--fm-border);border-radius:var(--fm-radius-lg);outline:none;transition:border-color .12s}.sc-search-input:focus{border-color:var(--fm-fg)}.sc-search-input::placeholder{color:var(--fm-muted)}.sc-search-clear{position:absolute;right:var(--fm-space-3);display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:var(--fm-subtle);border:none;border-radius:var(--fm-radius-full);cursor:pointer;color:var(--fm-muted);transition:background .12s,color .12s}.sc-search-clear:hover{background:var(--fm-border);color:var(--fm-fg)}.sc-attendee-row{display:flex;align-items:center;justify-content:space-between;gap:var(--fm-space-3);padding:var(--fm-space-3) var(--fm-space-4);border-radius:var(--fm-radius-md);cursor:pointer;transition:background .1s;border:1px solid var(--fm-border);background:var(--fm-bg)}.sc-attendee-row:hover{background:var(--fm-subtle)}.sc-attendee-row--checked{border-color:var(--fm-warning-solid);background:var(--fm-warning-soft)}.sc-attendee-row--checked:hover{background:var(--fm-warning-soft);opacity:.9}.sc-attendee-name{font-size:var(--fm-font-size-md);font-weight:500;color:var(--fm-fg);line-height:1.3}.sc-attendee-tier{font-size:var(--fm-font-size-xs);color:var(--fm-muted);margin-top:2px}.sc-attendee-badge{font-size:var(--fm-font-size-xs);font-weight:600;padding:3px 8px;border-radius:var(--fm-radius-full);white-space:nowrap;flex-shrink:0}.sc-attendee-badge--checked{background:var(--fm-warning-solid);color:#fff}.sc-attendee-code{font-family:var(--fm-font-mono);font-size:var(--fm-font-size-md);font-weight:600;letter-spacing:.12em;font-variant-numeric:tabular-nums;color:var(--fm-fg);background:var(--fm-subtle);border:1px solid var(--fm-border);padding:2px 8px;border-radius:var(--fm-radius-sm);white-space:nowrap}.sc-collision-hint{font-size:var(--fm-font-size-sm);font-weight:500;color:var(--fm-warning-solid);background:var(--fm-warning-soft);border:1px solid var(--fm-warning-solid);border-radius:var(--fm-radius-md);padding:var(--fm-space-2) var(--fm-space-3);line-height:1.4}.sc-confirm-panel{border:1px solid var(--fm-border);border-radius:var(--fm-radius-lg);padding:var(--fm-space-4);display:flex;flex-direction:column;gap:var(--fm-space-3);background:var(--fm-bg)}.sc-confirm-name{font-size:var(--fm-font-size-xl);font-weight:700;color:var(--fm-fg)}.sc-confirm-tier{font-size:var(--fm-font-size-sm);color:var(--fm-muted)}.sc-selector-row{display:flex;align-items:center;gap:var(--fm-space-2);flex-wrap:wrap}.sc-selector-label{font-size:var(--fm-font-size-xs);color:var(--fm-muted);white-space:nowrap}.sc-selector-pill{display:flex;align-items:center;gap:var(--fm-space-1);padding:var(--fm-space-1) var(--fm-space-3);border-radius:var(--fm-radius-full);border:1px solid var(--fm-border);background:var(--fm-bg);font-size:var(--fm-font-size-sm);font-weight:500;cursor:pointer;transition:border-color .1s,background .1s;white-space:nowrap}.sc-selector-pill--active{border-color:var(--fm-fg);background:var(--fm-fg);color:var(--fm-bg)}.sc-selector-pill--inactive:hover{background:var(--fm-subtle)}.sc-offline-banner{display:flex;align-items:center;gap:var(--fm-space-2);padding:var(--fm-space-2) var(--fm-space-4);background:var(--fm-warning-soft);color:var(--fm-warning-solid);font-size:var(--fm-font-size-xs);font-weight:600}.sc-result-card{display:flex;flex-direction:column;align-items:center;gap:var(--fm-space-4);padding:var(--fm-space-8) var(--fm-space-6);border-radius:var(--fm-radius-xl);text-align:center}.sc-result-card--success{background:var(--fm-success-soft);border:1px solid var(--fm-success-solid)}.sc-result-card--already{background:var(--fm-warning-soft);border:1px solid var(--fm-warning-solid)}.sc-result-icon{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center}.sc-result-icon--success{background:var(--fm-success-solid);color:#fff}.sc-result-icon--already{background:var(--fm-warning-solid);color:#fff}.sc-result-name{font-size:var(--fm-font-size-2xl);font-weight:700;color:var(--fm-fg)}.sc-result-tier{font-size:var(--fm-font-size-md);color:var(--fm-muted)}.sc-result-caption{font-size:var(--fm-font-size-sm);font-weight:600}.sc-result-caption--success{color:var(--fm-success-solid)}.sc-result-caption--already{color:var(--fm-warning-solid)}.sc-qr-overlay{position:fixed;inset:0;background:#000;z-index:200;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--fm-space-4)}.sc-qr-video{width:100%;max-width:480px;aspect-ratio:1;object-fit:cover;border-radius:var(--fm-radius-lg)}.sc-qr-frame{position:relative;width:280px;height:280px}.sc-qr-frame canvas{position:absolute;inset:0;width:100%;height:100%;border-radius:var(--fm-radius-lg)}.sc-qr-corner{position:absolute;width:28px;height:28px;border-color:#fff;border-style:solid;border-width:0}.sc-qr-corner--tl{top:0;left:0;border-top-width:3px;border-left-width:3px;border-radius:var(--fm-radius-sm) 0 0 0}.sc-qr-corner--tr{top:0;right:0;border-top-width:3px;border-right-width:3px;border-radius:0 var(--fm-radius-sm) 0 0}.sc-qr-corner--bl{bottom:0;left:0;border-bottom-width:3px;border-left-width:3px;border-radius:0 0 0 var(--fm-radius-sm)}.sc-qr-corner--br{bottom:0;right:0;border-bottom-width:3px;border-right-width:3px;border-radius:0 0 var(--fm-radius-sm) 0}.sc-pairing-logo{font-size:var(--fm-font-size-lg);font-weight:700;color:var(--fm-fg);letter-spacing:-.02em}.sc-text-input{width:100%;height:48px;padding:0 var(--fm-space-3);font-size:var(--fm-font-size-md);font-family:system-ui,sans-serif;color:var(--fm-fg);background:var(--fm-bg);border:1px solid var(--fm-border);border-radius:var(--fm-radius-md);outline:none;transition:border-color .12s}.sc-text-input:focus{border-color:var(--fm-fg)}.sc-text-input::placeholder{color:var(--fm-muted)}.sc-text-input--error{border-color:var(--fm-error-solid)}.sc-error-text{font-size:var(--fm-font-size-sm);color:var(--fm-error-solid)}.sc-divider{display:flex;align-items:center;gap:var(--fm-space-3);color:var(--fm-muted);font-size:var(--fm-font-size-xs)}.sc-divider:before,.sc-divider:after{content:"";flex:1;height:1px;background:var(--fm-border)}.sc-update-banner{display:flex;align-items:center;justify-content:space-between;gap:var(--fm-space-3);padding:var(--fm-space-3) var(--fm-space-4);background:var(--fm-progress-soft);color:var(--fm-progress-solid);font-size:var(--fm-font-size-sm)}@keyframes sc-spin{to{transform:rotate(360deg)}}.sc-spinner{width:20px;height:20px;border:2px solid var(--fm-border);border-top-color:var(--fm-fg);border-radius:50%;animation:sc-spin .7s linear infinite;flex-shrink:0}.sc-spinner--sm{width:16px;height:16px}.sc-spinner--lg{width:32px;height:32px}.sc-spinner--white{border-color:#ffffff4d;border-top-color:#fff}.sc-empty{display:flex;flex-direction:column;align-items:center;gap:var(--fm-space-2);padding:var(--fm-space-8) var(--fm-space-4);color:var(--fm-muted);text-align:center;font-size:var(--fm-font-size-sm)}.sc-header{display:flex;align-items:center;justify-content:space-between;padding:var(--fm-space-3) var(--fm-space-4);border-bottom:1px solid var(--fm-border);flex-shrink:0;gap:var(--fm-space-3)}.sc-header-title{font-size:var(--fm-font-size-md);font-weight:600;color:var(--fm-fg)}.sc-header-sub{font-size:var(--fm-font-size-xs);color:var(--fm-muted)}.sc-icon-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:transparent;border:1px solid var(--fm-border);border-radius:var(--fm-radius-md);cursor:pointer;color:var(--fm-muted);transition:background .1s,color .1s;flex-shrink:0}.sc-icon-btn:hover{background:var(--fm-subtle);color:var(--fm-fg)}.sc-install-banner{display:flex;align-items:center;justify-content:space-between;gap:var(--fm-space-3);padding:var(--fm-space-3) var(--fm-space-4);background:var(--fm-subtle);border-top:1px solid var(--fm-border);font-size:var(--fm-font-size-sm)}
