@layer feature{.export-dialog{max-width:440px;width:100%;padding:var(--space-6)}.export-dialog__scopes{border:0;padding:0;margin:0 0 var(--space-4)}.export-dialog__scopes legend,.export-dialog__tables legend{font-size:.75rem;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.04em;padding:0;margin-bottom:var(--space-2)}.export-dialog__scope{display:flex;align-items:center;gap:var(--space-2);padding:8px 10px;border-radius:10px;border:1px solid var(--color-border-light);margin-bottom:6px;cursor:pointer;font-size:.8125rem}.export-dialog__scope.is-active{border-color:var(--color-primary);background:var(--color-primary-bg)}.export-dialog__count{margin-left:auto;color:var(--color-text-muted);font-size:.75rem}.export-dialog__tables{border:0;padding:0;margin:0 0 var(--space-3)}}@layer feature{.custom-table-workspace,.custom-table-toggle{position:relative}.custom-table-badge{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 4px;display:flex;align-items:center;justify-content:center;border-radius:999px;background:var(--color-primary);color:var(--color-on-primary, #fff);font-size:.65rem;font-weight:700;line-height:1}.custom-table-panel{position:absolute;top:calc(100% + 8px);right:0;z-index:50;width:320px;max-height:420px;display:flex;flex-direction:column;border-radius:16px;border:1px solid var(--color-border-light);background:var(--color-surface);box-shadow:var(--shadow-lg);padding:var(--space-3)}.custom-table-panel__head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:var(--space-2);font-size:.8125rem;color:var(--color-text-secondary)}.custom-table-empty{font-size:.8125rem;color:var(--color-text-muted);margin:var(--space-2) 0}.custom-table-list{list-style:none;margin:0 0 var(--space-2);padding:0;overflow-y:auto;flex:1}.custom-table-item{display:flex;align-items:center;gap:var(--space-2);padding:6px 4px;border-bottom:1px solid var(--color-border-light);font-size:.8125rem}.custom-table-item__name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.custom-table-item__no{color:var(--color-text-muted);font-size:.75rem}.custom-table-item button{background:none;border:0;padding:2px;color:var(--color-text-muted);cursor:pointer;display:flex;align-items:center}.custom-table-item button:hover{color:var(--color-danger, var(--color-danger))}.custom-table-actions{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}}@layer feature{.directory-table-card.datagrid{border:0;border-top:1px solid var(--color-border-light);border-radius:0;box-shadow:none;background:var(--color-surface)}.directory-table-card.datagrid .directory-table{width:100%;border-collapse:separate;border-spacing:0;background:var(--color-surface);font-family:var(--font-sans)}.directory-table-card.datagrid .directory-table thead{position:sticky;z-index:5;top:0}.directory-table-card.datagrid .directory-table th{position:sticky;z-index:5;top:0;height:48px;padding:0 13px;border-bottom:1px solid var(--color-border-light);background:var(--color-primary-bg);font-family:var(--font-sans);font-family:var(--font-display);font-size:calc(16px * var(--app-font-scale, 1));font-weight:800;letter-spacing:.02em;text-align:left;text-transform:none;white-space:nowrap}.directory-table-card.datagrid .directory-table td{height:60px;padding:0 13px;border-bottom:1px solid var(--color-border-light);color:var(--color-text);font-size:calc(16px * var(--app-font-scale, 1));white-space:nowrap}.directory-table-card.datagrid .directory-table tbody tr{height:60px;transition:background var(--transition-fast)}.directory-table-card.datagrid .directory-table tbody tr:hover{box-shadow:inset 3px 0 0 var(--color-primary)}.directory-table-card.datagrid .directory-table tbody tr:hover td{background:color-mix(in srgb,var(--color-primary-bg) 65%,var(--color-surface))}.directory-table-card.datagrid .directory-table-footer{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:5px;flex:0 0 auto;min-height:65px;padding:12px 14px;border-top:1px solid var(--color-border);background:var(--color-surface)}.directory-table-card.datagrid .datagrid-summary{justify-self:center}.directory-table-card.datagrid .datagrid-pagination{justify-self:end}.datagrid-select-col{width:40px;text-align:center;padding:0 var(--space-2)}.datagrid-selection-toggle{min-height:28px;padding:0 var(--space-2);border:1px solid var(--color-primary-light);border-radius:8px;color:var(--color-primary-hover);cursor:pointer;font:var(--text-caption)}.datagrid-selection-toggle[aria-pressed=true]{border-color:var(--color-primary);background:var(--color-primary-bg)}.datagrid-selection-action{min-height:28px;padding:0 var(--space-2);border:0;border-radius:7px;background:transparent;color:var(--color-primary-hover);cursor:pointer;font:var(--text-caption)}.datagrid-selection-action:hover{background:var(--color-primary-bg)}.datagrid .directory-table-row.is-selected{background:var(--color-primary-bg);box-shadow:inset 3px 0 0 var(--color-primary)}.datagrid-sort-button{display:inline-flex;align-items:center;gap:4px;background:none;border:0;padding:0;margin:0;font:inherit;font-family:var(--font-display);font-size:calc(16px * var(--app-font-scale, 1));font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text)!important;cursor:pointer}.datagrid-sort-button:hover{color:var(--color-primary)}.datagrid-sort-idle{opacity:.4}.datagrid-footer{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);justify-content:space-between}.datagrid-page-size{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);font-size:.8125rem;color:var(--color-text-secondary)}.datagrid-page-size>*{flex-shrink:0;white-space:nowrap}.datagrid-page-size select{padding:4px 8px;border-radius:8px;border:1px solid var(--color-border-light);background:var(--color-surface)}.datagrid-summary{flex-shrink:0;font-size:.8125rem;color:var(--color-text-muted)}.datagrid-pagination{display:flex;align-items:center;gap:4px}.datagrid-page-button{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:30px;padding:0 6px;border-radius:8px;border:1px solid transparent;background:none;color:var(--color-text-secondary);font-size:.8125rem;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.datagrid-page-button:hover:not(:disabled){background:var(--color-primary-bg);color:var(--color-primary)}.datagrid-page-button.is-active{background:var(--color-primary);color:var(--color-on-primary, #fff)}.datagrid-page-button:disabled{opacity:.35;cursor:not-allowed}.datagrid-page-ellipsis{color:var(--color-text-muted);padding:0 2px}@media (max-width: 640px){.datagrid-footer{flex-direction:column;align-items:stretch}.datagrid-pagination{overflow-x:auto}}.datagrid-selection-toolbar{position:sticky;top:var(--space-2);z-index:5;display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:14px;background:var(--color-primary-bg);border:1px solid var(--color-primary-light, var(--color-border-light));box-shadow:var(--shadow-sm)}.datagrid-selection-count{font-size:.8125rem;font-weight:600;color:var(--color-primary);margin-right:var(--space-1)}.datagrid-selection-clear{margin-left:auto;background:none;border:0;color:var(--color-text-muted);font-size:.8125rem;cursor:pointer}.datagrid-selection-clear:hover{color:var(--color-text)}.datagrid-context-menu{position:fixed;z-index:100;min-width:180px;display:flex;flex-direction:column;padding:6px;border-radius:12px;border:1px solid var(--color-border-light);background:var(--color-surface);box-shadow:var(--shadow-lg)}.datagrid-context-menu button{text-align:left;padding:8px 10px;border:0;background:none;border-radius:8px;font-size:.8125rem;color:var(--color-text);cursor:pointer}.datagrid-context-menu button:hover:not(:disabled){background:var(--color-primary-bg);color:var(--color-primary)}.datagrid-context-menu button:disabled{opacity:.4;cursor:not-allowed}.datagrid-th-controls{display:inline-flex;align-items:center;gap:2px}.datagrid-filter-button{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:0;border-radius:5px;background:none;color:var(--color-text-muted);cursor:pointer}.datagrid-filter-button:hover{background:var(--color-primary-bg);color:var(--color-primary)}.datagrid-filter-button.is-active{color:var(--color-primary)}.datagrid-filter-anchor{position:relative;display:inline-block}.datagrid-filter-popover{position:absolute;z-index:100;top:calc(100% + 6px);left:0;display:flex;flex-direction:column;width:220px;max-height:320px;overflow:hidden;border:1px solid var(--color-border);border-radius:12px;background:var(--color-paper);box-shadow:var(--shadow-floating);text-transform:none;font-weight:400;letter-spacing:normal}.datagrid-filter-popover__search{flex:0 0 auto;display:flex;align-items:center;gap:6px;padding:8px 10px;border-bottom:1px solid var(--color-border-light);color:var(--color-text-muted)}.datagrid-filter-popover__search input{flex:1 1 auto;min-width:0;border:0;background:none;font:inherit;font-size:.8125rem;color:var(--color-text)}.datagrid-filter-popover__search input:focus{outline:none}.datagrid-filter-popover__select-all{flex:0 0 auto;display:flex;align-items:center;gap:8px;padding:8px 10px;border-bottom:1px solid var(--color-border-light);font-size:.8125rem;font-weight:600;color:var(--color-text);cursor:pointer}.datagrid-filter-popover__list{flex:1 1 auto;min-height:0;overflow-y:auto;padding:4px 6px}.datagrid-filter-popover__option{display:flex;align-items:center;gap:8px;padding:6px 4px;border-radius:6px;font-size:.8125rem;color:var(--color-text);cursor:pointer}.datagrid-filter-popover__option:hover{background:var(--color-primary-bg)}.datagrid-filter-popover__option span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.datagrid-filter-popover__empty{padding:12px 10px;font-size:.8125rem;color:var(--color-text-muted)}.datagrid-filter-empty-cell{padding:var(--space-5) var(--space-3);text-align:center;color:var(--color-text-muted)}.datagrid-filter-popover__footer{flex:0 0 auto;display:flex;justify-content:space-between;gap:8px;padding:8px 10px;border-top:1px solid var(--color-border-light)}}@layer feature{.roster-page{--roster-status-positive-text: color-mix(in srgb, var(--color-success) 70%, #000);--roster-status-positive-surface: color-mix(in srgb, var(--color-success) 15%, #fff);--roster-status-progress-text: color-mix(in srgb, var(--color-warning) 70%, #000);--roster-status-progress-surface: color-mix(in srgb, var(--color-warning) 20%, #fff);--roster-status-negative-text: var(--color-danger);--roster-status-negative-surface: var(--color-danger-light);--roster-disabled-surface: var(--color-border-light);--roster-disabled-text: var(--color-text-muted);--roster-disabled-indicator: var(--color-text-muted)}}@layer feature{.content-area:has(.roster-page){height:100vh;min-height:0;overflow:hidden;padding:0;background-color:var(--color-canvas);background-image:var(--page-canvas-pattern);background-size:var(--page-canvas-pattern-size)}.content-area>.roster-page{animation:none;transform:none}.main-area:has(.roster-page){background-color:var(--color-canvas);background-image:var(--page-canvas-pattern);background-size:var(--page-canvas-pattern-size)}.roster-page{position:relative;height:100%;min-height:0;min-width:0;display:flex;flex-direction:column;overflow:hidden;padding:16px clamp(20px,2vw,32px) 0;background-color:var(--color-canvas);background-image:var(--page-canvas-pattern);background-size:var(--page-canvas-pattern-size);color:var(--color-text);font-family:var(--font-sans)}.roster-table-card{position:relative;flex:1 1 auto;min-height:0;display:flex;flex-direction:column;margin-top:7px;overflow:hidden;border:0;border-top:1px solid var(--color-border-light);border-radius:0;background:var(--color-surface);box-shadow:none}.roster-table-card>.datagrid.directory-table-card{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;border:0;box-shadow:none;border-radius:0;overflow:visible}.roster-table-card .directory-table-scroll-wrap{display:flex;flex-direction:column;flex:1 1 auto;min-height:0}.roster-table-card .directory-table-scroll{flex:1 1 auto;min-height:0;max-height:none;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--color-primary-light) transparent;background:var(--color-surface)}.roster-table-scroll-area{flex:1 1 auto;min-height:0;max-height:none;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;background:var(--color-surface)}.roster-table-card .directory-table-footer{position:relative;flex:0 0 65px}.roster-family-workspace{position:relative;z-index:20;flex:1 1 auto;min-height:0;margin-top:10px;overflow:auto;overscroll-behavior:contain;background:var(--color-surface)}}@layer feature{.roster-hero{position:relative;flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-start;min-width:0;gap:0;padding-bottom:var(--roster-kpi-tab-space)}.roster-title-block{position:relative;z-index:1;min-width:0;padding-top:0}.roster-eyebrow{display:block;margin-bottom:7px;color:var(--color-primary);font-size:.68rem;font-weight:600;letter-spacing:.17em;text-transform:uppercase}.roster-title-line{display:flex;align-items:baseline;gap:14px}.roster-title-line h1{margin:0;color:var(--color-text);font-family:var(--font-display);font-size:clamp(1.9rem,2.4vw,2.25rem);font-weight:600;line-height:1.1}.roster-title-line span{color:var(--color-text-muted);font-size:.76rem}.roster-kpi-grid{position:relative;z-index:1;display:flex;align-items:stretch;flex-wrap:nowrap;gap:0;min-width:0;width:min(100%,760px);margin-top:var(--roster-kpi-top-gap, 20px);margin-left:var(--roster-kpi-tab-align);padding-bottom:5px}.roster-kpi{display:flex;align-items:center;justify-content:center;gap:6px;width:auto;flex:1 1 0;min-width:118px;padding:0 22px;border:0;border-right:1px solid var(--color-border-light);border-radius:0;background:transparent}.roster-kpi:first-child{padding-left:0}.roster-kpi:last-child{padding-right:0;border-right:0}.roster-kpi__icon{display:none}.roster-kpi__content{display:flex;align-items:center;flex-direction:column;gap:4px}.roster-kpi strong{order:0;color:var(--color-primary-hover);font-family:var(--font-display);font-size:1.6rem;font-weight:700;line-height:1}.roster-kpi__label{order:2;margin:0;color:var(--color-text-secondary);font-size:.85rem;font-weight:500}.roster-kpi__description{display:block;order:3;overflow:hidden;max-width:100%;color:var(--color-text-secondary);font-size:.76rem;white-space:nowrap;text-overflow:ellipsis}.roster-kpi__percentage{display:block;order:1;margin-top:1px;color:var(--color-primary);font-size:.68rem;font-weight:600;line-height:1.15;letter-spacing:.02em}.roster-kpi__gender-meta{display:inline-flex;flex-direction:column;align-items:center;order:1;gap:4px}.roster-kpi__gender-meta .roster-kpi__label{order:0;margin:0}.roster-kpi__gender-meta .roster-kpi__percentage{order:1;margin-top:0}.roster-jesus-watermark{position:absolute;z-index:0;top:-10px;right:40px;width:400px;height:auto;object-fit:contain;object-position:right top;opacity:.5;filter:var(--religious-art-filter);pointer-events:none;-webkit-user-select:none;user-select:none}.roster-kpi-grid:before{position:absolute;right:0;bottom:0;left:0;height:1px;background:var(--color-border-light);content:""}.roster-kpi-grid:after{position:absolute;bottom:-5px;left:50%;padding:0 10px;background:var(--color-canvas);color:var(--color-primary);content:"✝";font-size:.72rem;line-height:1;transform:translate(-50%)}.roster-toolbar-row{position:relative;z-index:30;flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:16px;min-width:0;margin-top:0;padding-top:4px}.roster-primary-tabs{position:relative;flex:1 1 auto;display:flex;align-items:center;gap:0;min-width:0;min-height:41px;padding:7px 0 8px;padding-left:var(--roster-kpi-tab-align);border-top:0;background:transparent;overflow-x:auto;scrollbar-width:none}.roster-primary-tabs::-webkit-scrollbar{display:none}.roster-primary-tabs .tabs-sliding__indicator{display:none}.roster-primary-tab{position:relative;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-height:29px;padding:6px 16px;border:0;border-radius:0;background:transparent;color:var(--color-text-secondary);cursor:pointer;font:500 .88rem/1 var(--font-display);white-space:nowrap;transition:color var(--transition-fast),background var(--transition-fast)}.roster-primary-tab.is-active{color:var(--color-primary-hover);font-weight:600}.roster-primary-tab.is-active:before{content:"";position:absolute;top:50%;left:0;width:2px;height:18px;border-radius:2px;background:var(--color-primary);transform:translateY(-50%)}.roster-primary-tab+.roster-primary-tab:after{position:absolute;top:50%;left:-1px;color:var(--color-primary-light);content:"·";font-family:var(--font-sans);font-size:.75rem;transform:translateY(-50%)}.roster-primary-tab:hover,.roster-primary-tab.is-active:hover{background:transparent;color:var(--color-primary-hover)}.roster-primary-tab:focus-visible,.roster-secondary-tab:focus-visible{outline:3px solid color-mix(in srgb,var(--color-primary) 20%,transparent);outline-offset:2px}.roster-secondary-tabs{position:relative;z-index:1;flex:0 0 36px;min-width:0;min-height:36px;height:36px;margin-top:var(--roster-tab-subtab-gap);padding-left:var(--roster-kpi-tab-align);display:flex;align-items:center}.roster-secondary-tabs:empty,.roster-secondary-tabs:not(:has(.roster-secondary-tabs__list)){display:flex;visibility:hidden}.roster-secondary-tabs__list{display:flex;align-items:center;gap:2px;min-height:30px;height:30px}.roster-secondary-tabs__list .tabs-sliding__indicator{display:none}.roster-secondary-tab{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:5px 10px;border:0;border-radius:0;background:transparent;color:var(--color-text-muted);cursor:pointer;font:500 .78rem/1 var(--font-display);white-space:nowrap;transition:color var(--transition-fast),background var(--transition-fast)}.roster-secondary-tab.is-active{color:var(--color-primary-hover);font-weight:600}.roster-secondary-tab.is-active:before{margin-right:5px;color:var(--color-primary);content:"❦";font-family:var(--font-display);font-size:.68rem}.roster-secondary-tab:hover{background:var(--color-primary-bg);color:var(--color-primary-hover)}.roster-actions{position:absolute;z-index:31;top:calc(100% + var(--roster-tab-subtab-gap));right:12px;flex:0 0 auto;min-width:0;display:flex;align-items:center;justify-content:flex-end;gap:4px;height:34px;min-height:34px}.roster-actions .directory-search{width:clamp(260px,24vw,360px);flex:0 1 auto;height:34px}.roster-actions .directory-search:focus-within{width:clamp(260px,24vw,360px)}.roster-actions .directory-search__input,.roster-actions .btn{height:34px;min-height:34px;box-sizing:border-box}.roster-actions .directory-search__input{border-radius:10px;background:var(--color-paper)}.roster-filter-anchor{position:relative;flex:0 0 auto;height:38px}.roster-filter-button{min-height:36px;padding:0 13px;gap:6px;border-color:var(--color-primary-light);background:var(--color-paper);color:var(--color-primary-hover);font-size:.8125rem}.roster-filter-actions{display:flex;gap:6px}.roster-filter-button:hover,.roster-filter-button.is-active{border-color:var(--color-primary);background:var(--color-primary-bg);color:var(--color-primary-hover)}.roster-filter-custom-slot{position:relative}.roster-filter-clear-button{position:absolute;z-index:1;right:0;bottom:calc(100% + 6px);width:100%;border-color:var(--color-danger);background:var(--color-paper);color:var(--color-danger)}.roster-filter-clear-button:hover{background:color-mix(in srgb,var(--color-danger) 10%,var(--color-paper));border-color:var(--color-danger);color:var(--color-danger)}.roster-page{--roster-kpi-tab-align: 0px;--roster-tab-subtab-gap: -5px;--roster-kpi-top-gap: 20px;--roster-kpi-tab-space: 6px}@media (max-width: 719px){.roster-page{--roster-kpi-tab-align: 0px;--roster-kpi-top-gap: 20px;--roster-kpi-tab-space: 6px}.roster-kpi-grid{width:100%;flex-wrap:wrap;gap:8px;margin-left:0;margin-top:20px}.roster-kpi{flex:1 1 calc(50% - 8px);min-width:0;padding-inline:10px;border:1px solid var(--color-border-light);background:var(--color-primary-bg)}.roster-kpi strong{font-size:1.3rem}.roster-primary-tab{padding-inline:11px}}@media (max-width: 959px){.roster-actions{position:static;height:34px;min-height:34px}.roster-secondary-tabs{margin-top:8px}}}@layer feature{.roster-page .directory-table{min-width:1160px}.roster-page .directory-person-cell{min-width:190px}.roster-page .directory-person{gap:8px}.roster-page .directory-status-badge.is-positive{color:var(--roster-status-positive-text);background:var(--roster-status-positive-surface)}.roster-page .directory-status-badge.is-progress{color:var(--roster-status-progress-text);background:var(--roster-status-progress-surface)}.roster-page .directory-status-badge.is-negative{color:var(--roster-status-negative-text);background:var(--roster-status-negative-surface)}.roster-row-actions-cell{width:40px;text-align:center}.roster-row-actions-btn{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:0;border-radius:8px;background:none;color:var(--color-text-muted);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.roster-row-actions-btn:hover{background:var(--color-primary-bg);color:var(--color-primary)}}@layer feature{.roster-filter-popover{position:absolute;z-index:100;top:calc(100% + 8px);right:0;width:min(760px,calc(100vw - 32px));max-height:min(680px,calc(100vh - 130px));display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--color-border);border-radius:14px;background:var(--color-paper);box-shadow:var(--shadow-floating)}.roster-filter-popover__header{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 14px;border-bottom:1px solid var(--color-border)}.roster-filter-popover__header span{display:block;margin-bottom:2px;color:var(--color-primary);font-size:.625rem;letter-spacing:.14em;text-transform:uppercase}.roster-filter-popover__header h2{margin:0;color:var(--color-text);font-family:var(--font-display);font-size:.9375rem}.roster-filter-popover__header>button{display:grid;width:30px;height:30px;place-items:center;border:1px solid var(--color-border);border-radius:50%;background:var(--color-paper);color:var(--color-text-secondary);cursor:pointer}.roster-filter-popover__body{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:12px 14px}.roster-filter-section+.roster-filter-section{margin-top:14px;padding-top:14px;border-top:1px solid var(--color-border-light)}.roster-filter-section h3{margin:0 0 8px;color:var(--color-text);font-size:.75rem;font-weight:600}.roster-filter-section__heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.roster-filter-section__heading h3{margin-bottom:0}.roster-filter-section__heading-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px}.roster-filter-section__heading>button,.roster-filter-section__heading-actions>button,.roster-filter-chips button,.roster-filter-add{min-height:30px;padding:0 10px;border:1px solid var(--color-border);border-radius:9px;background:var(--color-paper);color:var(--color-text-secondary);cursor:pointer;font-size:.6875rem}.roster-filter-chips{display:flex;gap:6px;flex-wrap:wrap}.roster-filter-quick-chips{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.roster-filter-quick-chips button{width:100%;min-width:0;max-width:100%;height:auto;min-height:30px;padding:6px 9px;line-height:1.35;text-align:left;white-space:normal;overflow-wrap:anywhere;word-break:break-word}@media (max-width: 520px){.roster-filter-quick-chips{grid-template-columns:minmax(0,1fr)}}.roster-filter-chips button:hover,.roster-filter-section__heading>button:hover,.roster-filter-section__heading-actions>button:hover,.roster-filter-add:hover{border-color:var(--color-primary-light);background:var(--color-primary-bg);color:var(--color-primary-hover)}.roster-filter-section__heading-actions>button.is-clear{border-color:color-mix(in srgb,var(--color-danger) 35%,var(--color-border));color:var(--color-danger)}.roster-filter-section__heading-actions>button.is-clear:hover{border-color:var(--color-danger);background:color-mix(in srgb,var(--color-danger) 10%,var(--color-paper));color:var(--color-danger)}.roster-filter-control{width:100%;min-width:0;min-height:34px;padding:0 9px;border:1px solid var(--color-border);border-radius:9px;background:var(--color-paper);color:var(--color-text);font-size:.75rem}.roster-filter-control.is-full{margin-bottom:8px}.roster-filter-control:focus{outline:0}.roster-filter-condition-list{display:flex;flex-direction:column;gap:8px}.roster-filter-condition{display:grid;grid-template-columns:92px minmax(140px,1fr) 112px minmax(140px,1fr) 28px;gap:6px;padding:8px;border:1px solid var(--color-border-light);border-radius:10px}.roster-filter-condition.has-logic{grid-template-columns:58px 92px minmax(120px,1fr) 112px minmax(120px,1fr) 28px}.roster-filter-condition.has-logic>.roster-filter-logic-control{grid-column:auto}.roster-filter-remove{display:grid;width:28px;height:28px;place-items:center;align-self:center;border:0;border-radius:50%;background:color-mix(in srgb,var(--color-danger) 10%,transparent);color:var(--color-danger);cursor:pointer}.roster-filter-add{margin-top:8px;border-style:dashed}.roster-filter-popover__footer{flex:0 0 auto;display:flex;justify-content:flex-end;gap:8px;padding:10px 14px;border-top:1px solid var(--color-border)}@media (max-width: 700px){.roster-filter-popover{width:min(520px,calc(100vw - 24px))}.roster-filter-condition,.roster-filter-condition.has-logic{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 28px}.roster-filter-condition.has-logic>.roster-filter-logic-control{grid-column:1 / -1}.roster-filter-remove,.roster-filter-condition.has-logic .roster-filter-remove{grid-column:3}.roster-filter-condition.has-logic .roster-filter-remove{grid-row:2 / span 2}}}@layer feature{.roster-reference-link{padding:0;border:0;background:none;color:var(--color-text);cursor:pointer;font:inherit;font-weight:600;text-align:left}.roster-reference-link.is-accent{color:var(--color-primary)}.roster-filter-condition,.roster-filter-popover__footer,.roster-page .directory-table tbody tr:hover td{background:var(--color-primary-bg)}.roster-filter-control:focus{border-color:var(--color-primary-light);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 13%,transparent)}.roster-table-scroll-area{scrollbar-color:var(--color-primary-light) transparent}.roster-reference-missing{color:var(--color-text-muted)}.design-modal-surface.roster-batch-pdf-modal{width:min(920px,94vw);padding:var(--space-6)}.roster-batch-pdf-table-wrap{overflow-x:auto;margin:var(--space-4) 0}.roster-batch-pdf-table{width:100%;border-collapse:collapse;font-size:.8125rem}.roster-batch-pdf-table th,.roster-batch-pdf-table td{padding:var(--space-2);border:1px solid var(--color-border-light);vertical-align:top;text-align:left}.roster-batch-pdf-table th{background:var(--color-primary-bg)}.roster-batch-pdf-table label{margin-right:var(--space-2);white-space:nowrap}.roster-batch-pdf-table textarea{width:160px;resize:vertical}.design-modal-surface:has(.roster-batch-pdf-table){width:min(920px,94vw);max-width:920px;height:min(720px,88vh)}.roster-skeleton-row{display:flex;align-items:center;height:58px;gap:var(--space-4);padding:10px var(--space-3)}.roster-skeleton-row .skeleton{flex:1;height:14px}.roster-skeleton-row .skeleton:first-child{flex:0 0 32px;height:32px;border-radius:var(--radius-full)}.roster-primary-tab.is-saved-filter-locked,.roster-primary-tab.is-saved-filter-locked:hover,.roster-primary-tab.is-saved-filter-locked.is-active,.roster-primary-tab.is-saved-filter-locked.is-active:hover,.roster-secondary-tab.is-saved-filter-locked,.roster-secondary-tab.is-saved-filter-locked:hover,.roster-secondary-tab.is-saved-filter-locked.is-active{background:var(--roster-disabled-surface);color:var(--roster-disabled-text);cursor:not-allowed;font-style:italic;font-weight:400}.roster-primary-tab.is-saved-filter-locked:before,.roster-secondary-tab.is-saved-filter-locked.is-active:before{color:var(--roster-disabled-text)}.roster-secondary-tab.is-saved-filter-locked.is-active:before{background:transparent}.roster-primary-tab.is-saved-filter-locked:disabled,.roster-secondary-tab.is-saved-filter-locked:disabled{opacity:1;pointer-events:none}}@layer feature{@media (max-width: 1279px){.roster-jesus-watermark{width:260px;right:10px;opacity:.13}.roster-actions .directory-search,.roster-actions .directory-search:focus-within{width:clamp(190px,20vw,260px)}}@media (max-width: 959px){.roster-page{padding-inline:18px}.roster-kpi-grid{flex-wrap:wrap;row-gap:var(--space-3)}.roster-kpi{flex:1 1 140px}.roster-kpi:last-child{padding-right:22px}.roster-toolbar-row{align-items:stretch;flex-direction:column;gap:8px}.roster-actions{width:100%;justify-content:flex-start}.roster-actions .directory-search,.roster-actions .directory-search:focus-within{width:clamp(210px,36vw,320px)}.roster-filter-popover{right:auto;left:0;max-height:min(460px,calc(100vh - 250px))}.roster-table-card .directory-table-footer{grid-template-columns:1fr auto}}@media (max-width: 719px){.content-area:has(.roster-page){overflow:hidden}.roster-page{padding:14px 12px 12px}.roster-title-line{align-items:flex-start;flex-direction:column;gap:3px}.roster-title-line h1{font-size:1.55rem}.roster-jesus-watermark{display:none}.roster-primary-tabs{min-height:38px}.roster-primary-tab{min-height:32px;padding:7px 12px;font-size:.8rem}.roster-actions{flex-wrap:wrap;height:auto;min-height:0}.roster-actions .directory-search,.roster-actions .directory-search:focus-within{width:100%;flex:1 0 100%}.roster-filter-popover{top:calc(100% + 8px);right:0;left:auto;width:min(320px,calc(100vw - 24px));max-height:min(420px,calc(100vh - 300px))}.roster-table-card .directory-table-footer{grid-template-columns:1fr;justify-items:center;min-height:70px;gap:5px}}}@layer app,feature;@font-face{font-family:"Noto Serif TC";font-style:normal;font-weight:600 700;font-display:swap;src:url(/fonts/NotoSerifTC-cjk00.woff2) format("woff2");unicode-range:U+4E00-54D4}@font-face{font-family:"Noto Serif TC";font-style:normal;font-weight:600 700;font-display:swap;src:url(/fonts/NotoSerifTC-cjk01.woff2) format("woff2");unicode-range:U+54D5-5BA9}@font-face{font-family:"Noto Serif TC";font-style:normal;font-weight:600 700;font-display:swap;src:url(/fonts/NotoSerifTC-cjk02.woff2) format("woff2");unicode-range:U+5BAA-627E}@font-face{font-family:"Noto Serif TC";font-style:normal;font-weight:600 700;font-display:swap;src:url(/fonts/NotoSerifTC-cjk03.woff2) format("woff2");unicode-range:U+627F-6953}@font-face{font-family:"Noto Serif TC";font-style:normal;font-weight:600 700;font-display:swap;src:url(/fonts/NotoSerifTC-cjk04.woff2) format("woff2");unicode-range:U+6954-7028}@font-face{font-family:"Noto Serif TC";font-style:normal;font-weight:600 700;font-display:swap;src:url(/fonts/NotoSerifTC-cjk05.woff2) format("woff2");unicode-range:U+7029-76FD}@font-face{font-family:"Noto Serif TC";font-style:normal;font-weight:600 700;font-display:swap;src:url(/fonts/NotoSerifTC-cjk06.woff2) format("woff2");unicode-range:U+76FE-7DD2}@font-face{font-family:"Noto Serif TC";font-style:normal;font-weight:600 700;font-display:swap;src:url(/fonts/NotoSerifTC-cjk07.woff2) format("woff2");unicode-range:U+7DD3-84A7}@font-face{font-family:"Noto Serif TC";font-style:normal;font-weight:600 700;font-display:swap;src:url(/fonts/NotoSerifTC-cjk08.woff2) format("woff2");unicode-range:U+84A8-8B7C}@font-face{font-family:"Noto Serif TC";font-style:normal;font-weight:600 700;font-display:swap;src:url(/fonts/NotoSerifTC-cjk09.woff2) format("woff2");unicode-range:U+8B7D-9251}@font-face{font-family:"Noto Serif TC";font-style:normal;font-weight:600 700;font-display:swap;src:url(/fonts/NotoSerifTC-cjk10.woff2) format("woff2");unicode-range:U+9252-9926}@font-face{font-family:"Noto Serif TC";font-style:normal;font-weight:600 700;font-display:swap;src:url(/fonts/NotoSerifTC-cjk11.woff2) format("woff2");unicode-range:U+9927-9FFF}@font-face{font-family:"Noto Serif TC";font-style:normal;font-weight:600 700;font-display:swap;src:url(/fonts/NotoSerifTC-ui.woff2) format("woff2");unicode-range:U+0020-007E,U+00A0-00FF,U+2000-206F,U+3000-303F,U+FF00-FFEF,U+4E00,U+4E09,U+4E0A,U+4E0B,U+4E0D,U+4E14,U+4E16,U+4E1F,U+4E26,U+4E2D,U+4E32,U+4E3B,U+4E45,U+4E4B,U+4E4E,U+4E5F,U+4E82,U+4E86,U+4E8B,U+4E8C,U+4E92,U+4E94,U+4E9B,U+4EA1,U+4EA4,U+4EAB,U+4EAE,U+4EBA,U+4EC0,U+4EC1,U+4ECA,U+4ECB,U+4ECD,U+4ED6,U+4ED8,U+4EE3,U+4EE5,U+4EF6,U+4EFB,U+4EFD,U+4F2F,U+4F38,U+4F3A,U+4F46,U+4F4D,U+4F4E,U+4F4F,U+4F54,U+4F55,U+4F5C,U+4F60,U+4F75,U+4F7F,U+4F86,U+4F8B,U+4F9B,U+4F9D,U+4FBF,U+4FC2,U+4FDD,U+4FE1,U+4FEE,U+500B,U+5011,U+5012,U+5019,U+501F,U+503C,U+5047,U+504F,U+505A,U+505C,U+5065,U+5074,U+5075,U+5076,U+507D,U+5099,U+50B3,U+50C5,U+50CF,U+50F9,U+5100,U+512A,U+5132,U+5141,U+5143,U+5145,U+5148,U+5149,U+514D,U+5152,U+515C,U+5165,U+5167,U+5168,U+5169,U+516B,U+516C,U+516D,U+5171,U+5176,U+5177,U+5178,U+518A,U+518D,U+5197,U+51C6,U+51CD,U+51F9,U+51FA,U+51FD,U+5206,U+5207,U+5217,U+521D,U+5224,U+5225,U+5229,U+522A,U+5230,U+5236,U+523A,U+523B,U+5247,U+524D,U+525B,U+5269,U+526A,U+526F,U+5275,U+529B,U+529F,U+52A0,U+52A9,U+52D5,U+52D9,U+52DD,U+52E2,U+52FE,U+52FF,U+5305,U+5316,U+532F,U+5340,U+5341,U+5347,U+5348,U+534A,U+5354,U+5360,U+5361,U+5370,U+5371,U+5373,U+5378,U+537B,U+539F,U+53BB,U+53C3,U+53C8,U+53CA,U+53CB,U+53CD,U+53D4,U+53D6,U+53D7,U+53E3,U+53E4,U+53E5,U+53E6,U+53EA,U+53EB,U+53EF,U+53F0,U+53F2,U+53F3,U+53F8,U+5403,U+5404,U+5408,U+540C,U+540D,U+5411,U+541E,U+5426,U+542B,U+5438,U+5448,U+544A,U+547C,U+547D,U+548C,U+54AC,U+54C1,U+54E1,U+54EA,U+552F,U+554F,U+555F,U+5584,U+55AA,U+55AE,U+55CE,U+5668,U+566A,U+56B4,U+56DB,U+56DE,U+56E0,U+56F0,U+56FA,U+5708,U+570D,U+5713,U+5716,U+5728,U+5730,U+573E,U+5740,U+5747,U+5750,U+5751,U+5782,U+5783,U+578B,U+57AE,U+57DF,U+57F7,U+57FA,U+5802,U+5805,U+5806,U+5831,U+584A,U+585E,U+586B,U+5883,U+589E,U+58A8,U+58D3,U+58DE,U+58EB,U+58FD,U+5916,U+591A,U+5920,U+5927,U+5929,U+592A,U+592E,U+5931,U+593E,U+5947,U+594F,U+5957,U+5973,U+597D,U+5982,U+59A5,U+59CB,U+59D1,U+59D3,U+59E8,U+59EA,U+59FB,U+5A5A,U+5B50,U+5B57,U+5B58,U+5B64,U+5B6B,U+5B83,U+5B89,U+5B8C,U+5B9A,U+5B9C,U+5BA3,U+5BB3,U+5BB6,U+5BB9,U+5BC6,U+5BE1,U+5BE6,U+5BE7,U+5BE9,U+5BEB,U+5BEC,U+5BF8,U+5C07,U+5C08,U+5C0B,U+5C0D,U+5C0E,U+5C0F,U+5C11,U+5C1A,U+5C24,U+5C31,U+5C3A,U+5C3E,U+5C45,U+5C4F,U+5C55,U+5C5C,U+5C64,U+5C6C,U+5DE2,U+5DE5,U+5DE6,U+5DEE,U+5DF1,U+5DF2,U+5E02,U+5E03,U+5E2B,U+5E33,U+5E36,U+5E38,U+5E55,U+5E73,U+5E74,U+5E7E,U+5E8F,U+5E95,U+5EA6,U+5EA7,U+5EAB,U+5EAD,U+5EB7,U+5EE0,U+5EE2,U+5EF6,U+5EFA,U+5F0F,U+5F15,U+5F31,U+5F35,U+5F37,U+5F48,U+5F4C,U+5F59,U+5F62,U+5F69,U+5F71,U+5F7C,U+5F80,U+5F85,U+5F88,U+5F8B,U+5F8C,U+5F91,U+5F97,U+5F9E,U+5FA9,U+5FAE,U+5FBD,U+5FC3,U+5FC5,U+5FD7,U+5FD8,U+5FD9,U+5FEB,U+5FF5,U+5FFD,U+600E,U+6015,U+6025,U+6027,U+602A,U+6062,U+6069,U+606F,U+60C5,U+60D1,U+60F3,U+610F,U+611F,U+614B,U+6155,U+6162,U+6163,U+6191,U+61B6,U+61C2,U+61C9,U+61F7,U+6210,U+6211,U+6216,U+622A,U+6236,U+6240,U+6241,U+624B,U+624D,U+6253,U+6263,U+626F,U+6279,U+627E,U+627F,U+6284,U+628A,U+6293,U+6298,U+62B5,U+62BD,U+62C6,U+62C9,U+62D2,U+62D6,U+62FC,U+62FF,U+6301,U+6307,U+6309,U+6311,U+632A,U+632F,U+6368,U+6372,U+6383,U+6389,U+6392,U+639B,U+63A2,U+63A5,U+63A7,U+63A8,U+63CF,U+63D0,U+63D2,U+63DB,U+63F4,U+640D,U+641C,U+642C,U+6436,U+6458,U+6490,U+6492,U+649E,U+64A4,U+64C1,U+64C7,U+64CA,U+64CB,U+64CD,U+64CE,U+64D4,U+64DA,U+64E0,U+64FA,U+6514,U+6524,U+652F,U+6536,U+6539,U+653B,U+653E,U+653F,U+6545,U+6548,U+654F,U+6551,U+6557,U+6559,U+6563,U+6574,U+6578,U+6582,U+6587,U+6597,U+6599,U+65B0,U+65B7,U+65B9,U+65BC,U+65C1,U+65CF,U+65D7,U+65E2,U+65E5,U+65E6,U+65E8,U+65E9,U+660E,U+6613,U+6620,U+662F,U+6642,U+665A,U+666F,U+667A,U+6688,U+6696,U+6697,U+66AB,U+66F3,U+66F4,U+66F8,U+66FE,U+66FF,U+6700,U+6703,U+6708,U+6709,U+670D,U+6717,U+671B,U+671F,U+672A,U+672C,U+674E,U+675F,U+6771,U+677F,U+6790,U+6797,U+679C,U+67B6,U+67D0,U+67D3,U+67E5,U+6838,U+6839,U+683C,U+6846,U+6848,U+684C,U+6876,U+689D,U+68C4,U+68CB,U+695A,U+696D,U+6975,U+6982,U+69CB,U+69FD,U+6A02,U+6A19,U+6A21,U+6A23,U+6A39,U+6A5F,U+6A6B,U+6A94,U+6AA2,U+6ABB,U+6B04,U+6B0A,U+6B21,U+6B3E,U+6B62,U+6B63,U+6B64,U+6B65,U+6B6A,U+6B72,U+6B77,U+6B7B,U+6B7F,U+6B98,U+6BB5,U+6BBC,U+6BC0,U+6BCD,U+6BCF,U+6BD4,U+6C34,U+6C38,U+6C42,U+6C61,U+6C7A,U+6C92,U+6C99,U+6CBB,U+6CBF,U+6CC1,U+6CD5,U+6CDB,U+6CE8,U+6D17,U+6D1E,U+6D29,U+6D3B,U+6D3E,U+6D41,U+6D6E,U+6D88,U+6DB5,U+6DC6,U+6DE1,U+6DF1,U+6DF7,U+6DFA,U+6E05,U+6E2C,U+6E32,U+6E38,U+6E4A,U+6E90,U+6E96,U+6EAB,U+6EC5,U+6ED1,U+6EFE,U+6EFF,U+6F02,U+6F0F,U+6F14,U+6FFE,U+700F,U+7070,U+707D,U+70B8,U+70BA,U+7121,U+7126,U+7136,U+7167,U+71B5,U+71C8,U+7206,U+720D,U+7236,U+723D,U+723E,U+7247,U+7248,U+724C,U+7267,U+7269,U+7279,U+727D,U+72C0,U+731C,U+7368,U+7387,U+738B,U+73AB,U+73FE,U+7406,U+7434,U+7470,U+74B0,U+751F,U+7522,U+7528,U+7531,U+7537,U+754C,U+7559,U+7565,U+756B,U+7570,U+7576,U+758A,U+7626,U+7642,U+767B,U+767C,U+767D,U+767E,U+7684,U+7686,U+76CA,U+76E1,U+76E3,U+76E4,U+76EE,U+76EF,U+76F4,U+76F8,U+7701,U+770B,U+771F,U+773C,U+775B,U+77AC,U+77E5,U+77ED,U+77EE,U+7834,U+786C,U+788C,U+789F,U+78B0,U+78BA,U+78BC,U+7919,U+793A,U+7956,U+795D,U+795E,U+7968,U+7981,U+79AE,U+79D2,U+79D8,U+79E9,U+79FB,U+7A0B,U+7A0D,U+7A2E,U+7A31,U+7A3D,U+7A3F,U+7A4C,U+7A4D,U+7A69,U+7A7A,U+7A7F,U+7A81,U+7A84,U+7A97,U+7ACB,U+7AD9,U+7AE0,U+7AEF,U+7AF6,U+7B26,U+7B2C,U+7B46,U+7B49,U+7B54,U+7B97,U+7BA1,U+7BAD,U+7BB1,U+7BC0,U+7BC4,U+7BE9,U+7C21,U+7C3D,U+7C3F,U+7C4D,U+7C64,U+7C73,U+7C89,U+7C97,U+7CB9,U+7CBE,U+7CDF,U+7CFB,U+7D00,U+7D04,U+7D05,U+7D0B,U+7D0D,U+7D14,U+7D19,U+7D1A,U+7D20,U+7D22,U+7D2F,U+7D30,U+7D42,U+7D44,U+7D50,U+7D55,U+7D61,U+7D66,U+7D71,U+7D81,U+7D93,U+7DA0,U+7DAD,U+7DB2,U+7DB4,U+7DCA,U+7DD2,U+7DDA,U+7DDE,U+7DE3,U+7DE8,U+7DE9,U+7E23,U+7E2E,U+7E3D,U+7E5E,U+7E6B,U+7E7C,U+7E8C,U+7F3A,U+7F6E,U+7F8E,U+7FA4,U+7FA9,U+7FFB,U+8001,U+8003,U+8005,U+800C,U+8036,U+8056,U+805A,U+806F,U+8072,U+8077,U+807D,U+80CC,U+80FD,U+8106,U+812B,U+8166,U+8173,U+81E8,U+81EA,U+81F3,U+81F4,U+8207,U+8209,U+820A,U+822A,U+822C,U+8272,U+82E5,U+82F1,U+83F1,U+842C,U+843D,U+8449,U+8457,U+846C,U+84CB,U+85A6,U+85CD,U+85CF,U+8655,U+865F,U+8667,U+87A2,U+8840,U+884C,U+884D,U+8857,U+885D,U+8868,U+88AB,U+88C1,U+88DC,U+88DD,U+88E1,U+88F8,U+88FD,U+8907,U+896F,U+897F,U+8981,U+8986,U+898B,U+898F,U+8996,U+89AA,U+89BA,U+89BD,U+89C0,U+89D2,U+89E3,U+89F8,U+8A00,U+8A02,U+8A08,U+8A0A,U+8A0E,U+8A18,U+8A2A,U+8A2D,U+8A31,U+8A3B,U+8A5E,U+8A62,U+8A66,U+8A71,U+8A72,U+8A73,U+8A8C,U+8A8D,U+8A9E,U+8AA4,U+8AAA,U+8AB0,U+8ABF,U+8AC7,U+8ACB,U+8AD6,U+8B1B,U+8B49,U+8B58,U+8B66,U+8B6F,U+8B70,U+8B77,U+8B80,U+8B8A,U+8B93,U+8C61,U+8C8C,U+8CA0,U+8CAB,U+8CAC,U+8CBB,U+8CBC,U+8CC7,U+8CEA,U+8CED,U+8CF4,U+8D0F,U+8D70,U+8D77,U+8D85,U+8D8A,U+8D9F,U+8DB3,U+8DD1,U+8DDD,U+8DDF,U+8DE8,U+8DEF,U+8DF3,U+8E29,U+8E64,U+8E6D,U+8EAB,U+8EDF,U+8EF8,U+8F03,U+8F09,U+8F15,U+8F29,U+8F2A,U+8F2F,U+8F38,U+8F49,U+8FA6,U+8FA8,U+8FD1,U+8FD4,U+8FF0,U+8FF4,U+8FFD,U+9000,U+9001,U+9003,U+900F,U+9010,U+9014,U+9017,U+9019,U+901A,U+901F,U+9020,U+9023,U+9031,U+9032,U+903C,U+9047,U+904B,U+904E,U+9053,U+9054,U+9055,U+905E,U+9060,U+9069,U+906D,U+9072,U+9077,U+9078,U+907A,U+907F,U+9084,U+908A,U+908F,U+90A3,U+90E8,U+90F5,U+90FD,U+9130,U+914D,U+9192,U+91AB,U+91CD,U+91CF,U+91D1,U+91D8,U+91DD,U+9215,U+9264,U+92B7,U+92F8,U+9304,U+932F,U+9375,U+9396,U+93C8,U+9418,U+9438,U+9470,U+9577,U+9580,U+9583,U+9589,U+958B,U+9593,U+9598,U+95B1,U+95DC,U+9632,U+963B,U+9644,U+964D,U+9650,U+9662,U+9663,U+9664,U+9670,U+9677,U+968E,U+9694,U+969B,U+969C,U+96A8,U+96AA,U+96B1,U+96C6,U+96D6,U+96D9,U+96DC,U+96E2,U+96E3,U+96F2,U+96F6,U+96FB,U+9700,U+9748,U+975C,U+975E,U+9760,U+9762,U+97F3,U+97FF,U+9801,U+9802,U+9805,U+9806,U+9808,U+9810,U+9818,U+982D,U+983B,U+9846,U+984C,U+984D,U+984F,U+985B,U+985E,U+9867,U+986F,U+98A8,U+98C4,U+98DB,U+98FD,U+98FE,U+9918,U+9996,U+99D0,U+9A57,U+9A5F,U+9AA8,U+9AD2,U+9AD4,U+9AD8,U+9EBC,U+9ED1,U+9ED8,U+9EDE,U+9F20,U+9F4A,U+9F52,U+9F61}@font-face{font-family:JF Open Huninn;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/Huninn-cjk00.woff2) format("woff2");unicode-range:U+4E00-54D4}@font-face{font-family:JF Open Huninn;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/Huninn-cjk01.woff2) format("woff2");unicode-range:U+54D5-5BA9}@font-face{font-family:JF Open Huninn;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/Huninn-cjk02.woff2) format("woff2");unicode-range:U+5BAA-627E}@font-face{font-family:JF Open Huninn;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/Huninn-cjk03.woff2) format("woff2");unicode-range:U+627F-6953}@font-face{font-family:JF Open Huninn;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/Huninn-cjk04.woff2) format("woff2");unicode-range:U+6954-7028}@font-face{font-family:JF Open Huninn;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/Huninn-cjk05.woff2) format("woff2");unicode-range:U+7029-76FD}@font-face{font-family:JF Open Huninn;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/Huninn-cjk06.woff2) format("woff2");unicode-range:U+76FE-7DD2}@font-face{font-family:JF Open Huninn;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/Huninn-cjk07.woff2) format("woff2");unicode-range:U+7DD3-84A7}@font-face{font-family:JF Open Huninn;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/Huninn-cjk08.woff2) format("woff2");unicode-range:U+84A8-8B7C}@font-face{font-family:JF Open Huninn;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/Huninn-cjk09.woff2) format("woff2");unicode-range:U+8B7D-9251}@font-face{font-family:JF Open Huninn;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/Huninn-cjk10.woff2) format("woff2");unicode-range:U+9252-9926}@font-face{font-family:JF Open Huninn;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/Huninn-cjk11.woff2) format("woff2");unicode-range:U+9927-9FFF}@font-face{font-family:JF Open Huninn;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/Huninn-ui.woff2) format("woff2");unicode-range:U+0020-007E,U+00A0-00FF,U+2000-206F,U+3000-303F,U+FF00-FFEF,U+4E00,U+4E09,U+4E0A,U+4E0B,U+4E0D,U+4E14,U+4E16,U+4E1F,U+4E26,U+4E2D,U+4E32,U+4E3B,U+4E45,U+4E4B,U+4E4E,U+4E5F,U+4E82,U+4E86,U+4E8B,U+4E8C,U+4E92,U+4E94,U+4E9B,U+4EA1,U+4EA4,U+4EAB,U+4EAE,U+4EBA,U+4EC0,U+4EC1,U+4ECA,U+4ECB,U+4ECD,U+4ED6,U+4ED8,U+4EE3,U+4EE5,U+4EF6,U+4EFB,U+4EFD,U+4F2F,U+4F38,U+4F3A,U+4F46,U+4F4D,U+4F4E,U+4F4F,U+4F54,U+4F55,U+4F5C,U+4F60,U+4F75,U+4F7F,U+4F86,U+4F8B,U+4F9B,U+4F9D,U+4FBF,U+4FC2,U+4FDD,U+4FE1,U+4FEE,U+500B,U+5011,U+5012,U+5019,U+501F,U+503C,U+5047,U+504F,U+505A,U+505C,U+5065,U+5074,U+5075,U+5076,U+507D,U+5099,U+50B3,U+50C5,U+50CF,U+50F9,U+5100,U+512A,U+5132,U+5141,U+5143,U+5145,U+5148,U+5149,U+514D,U+5152,U+515C,U+5165,U+5167,U+5168,U+5169,U+516B,U+516C,U+516D,U+5171,U+5176,U+5177,U+5178,U+518A,U+518D,U+5197,U+51C6,U+51CD,U+51F9,U+51FA,U+51FD,U+5206,U+5207,U+5217,U+521D,U+5224,U+5225,U+5229,U+522A,U+5230,U+5236,U+523A,U+523B,U+5247,U+524D,U+525B,U+5269,U+526A,U+526F,U+5275,U+529B,U+529F,U+52A0,U+52A9,U+52D5,U+52D9,U+52DD,U+52E2,U+52FE,U+52FF,U+5305,U+5316,U+532F,U+5340,U+5341,U+5347,U+5348,U+534A,U+5354,U+5360,U+5361,U+5370,U+5371,U+5373,U+5378,U+537B,U+539F,U+53BB,U+53C3,U+53C8,U+53CA,U+53CB,U+53CD,U+53D4,U+53D6,U+53D7,U+53E3,U+53E4,U+53E5,U+53E6,U+53EA,U+53EB,U+53EF,U+53F0,U+53F2,U+53F3,U+53F8,U+5403,U+5404,U+5408,U+540C,U+540D,U+5411,U+541E,U+5426,U+542B,U+5438,U+5448,U+544A,U+547C,U+547D,U+548C,U+54AC,U+54C1,U+54E1,U+54EA,U+552F,U+554F,U+555F,U+5584,U+55AA,U+55AE,U+55CE,U+5668,U+566A,U+56B4,U+56DB,U+56DE,U+56E0,U+56F0,U+56FA,U+5708,U+570D,U+5713,U+5716,U+5728,U+5730,U+573E,U+5740,U+5747,U+5750,U+5751,U+5782,U+5783,U+578B,U+57AE,U+57DF,U+57F7,U+57FA,U+5802,U+5805,U+5806,U+5831,U+584A,U+585E,U+586B,U+5883,U+589E,U+58A8,U+58D3,U+58DE,U+58EB,U+58FD,U+5916,U+591A,U+5920,U+5927,U+5929,U+592A,U+592E,U+5931,U+593E,U+5947,U+594F,U+5957,U+5973,U+597D,U+5982,U+59A5,U+59CB,U+59D1,U+59D3,U+59E8,U+59EA,U+59FB,U+5A5A,U+5B50,U+5B57,U+5B58,U+5B64,U+5B6B,U+5B83,U+5B89,U+5B8C,U+5B9A,U+5B9C,U+5BA3,U+5BB3,U+5BB6,U+5BB9,U+5BC6,U+5BE1,U+5BE6,U+5BE7,U+5BE9,U+5BEB,U+5BEC,U+5BF8,U+5C07,U+5C08,U+5C0B,U+5C0D,U+5C0E,U+5C0F,U+5C11,U+5C1A,U+5C24,U+5C31,U+5C3A,U+5C3E,U+5C45,U+5C4F,U+5C55,U+5C5C,U+5C64,U+5C6C,U+5DE2,U+5DE5,U+5DE6,U+5DEE,U+5DF1,U+5DF2,U+5E02,U+5E03,U+5E2B,U+5E33,U+5E36,U+5E38,U+5E55,U+5E73,U+5E74,U+5E7E,U+5E8F,U+5E95,U+5EA6,U+5EA7,U+5EAB,U+5EAD,U+5EB7,U+5EE0,U+5EE2,U+5EF6,U+5EFA,U+5F0F,U+5F15,U+5F31,U+5F35,U+5F37,U+5F48,U+5F4C,U+5F59,U+5F62,U+5F69,U+5F71,U+5F7C,U+5F80,U+5F85,U+5F88,U+5F8B,U+5F8C,U+5F91,U+5F97,U+5F9E,U+5FA9,U+5FAE,U+5FBD,U+5FC3,U+5FC5,U+5FD7,U+5FD8,U+5FD9,U+5FEB,U+5FF5,U+5FFD,U+600E,U+6015,U+6025,U+6027,U+602A,U+6062,U+6069,U+606F,U+60C5,U+60D1,U+60F3,U+610F,U+611F,U+614B,U+6155,U+6162,U+6163,U+6191,U+61B6,U+61C2,U+61C9,U+61F7,U+6210,U+6211,U+6216,U+622A,U+6236,U+6240,U+6241,U+624B,U+624D,U+6253,U+6263,U+626F,U+6279,U+627E,U+627F,U+6284,U+628A,U+6293,U+6298,U+62B5,U+62BD,U+62C6,U+62C9,U+62D2,U+62D6,U+62FC,U+62FF,U+6301,U+6307,U+6309,U+6311,U+632A,U+632F,U+6368,U+6372,U+6383,U+6389,U+6392,U+639B,U+63A2,U+63A5,U+63A7,U+63A8,U+63CF,U+63D0,U+63D2,U+63DB,U+63F4,U+640D,U+641C,U+642C,U+6436,U+6458,U+6490,U+6492,U+649E,U+64A4,U+64C1,U+64C7,U+64CA,U+64CB,U+64CD,U+64CE,U+64D4,U+64DA,U+64E0,U+64FA,U+6514,U+6524,U+652F,U+6536,U+6539,U+653B,U+653E,U+653F,U+6545,U+6548,U+654F,U+6551,U+6557,U+6559,U+6563,U+6574,U+6578,U+6582,U+6587,U+6597,U+6599,U+65B0,U+65B7,U+65B9,U+65BC,U+65C1,U+65CF,U+65D7,U+65E2,U+65E5,U+65E6,U+65E8,U+65E9,U+660E,U+6613,U+6620,U+662F,U+6642,U+665A,U+666F,U+667A,U+6688,U+6696,U+6697,U+66AB,U+66F3,U+66F4,U+66F8,U+66FE,U+66FF,U+6700,U+6703,U+6708,U+6709,U+670D,U+6717,U+671B,U+671F,U+672A,U+672C,U+674E,U+675F,U+6771,U+677F,U+6790,U+6797,U+679C,U+67B6,U+67D0,U+67D3,U+67E5,U+6838,U+6839,U+683C,U+6846,U+6848,U+684C,U+6876,U+689D,U+68C4,U+68CB,U+695A,U+696D,U+6975,U+6982,U+69CB,U+69FD,U+6A02,U+6A19,U+6A21,U+6A23,U+6A39,U+6A5F,U+6A6B,U+6A94,U+6AA2,U+6ABB,U+6B04,U+6B0A,U+6B21,U+6B3E,U+6B62,U+6B63,U+6B64,U+6B65,U+6B6A,U+6B72,U+6B77,U+6B7B,U+6B7F,U+6B98,U+6BB5,U+6BBC,U+6BC0,U+6BCD,U+6BCF,U+6BD4,U+6C34,U+6C38,U+6C42,U+6C61,U+6C7A,U+6C92,U+6C99,U+6CBB,U+6CBF,U+6CC1,U+6CD5,U+6CDB,U+6CE8,U+6D17,U+6D1E,U+6D29,U+6D3B,U+6D3E,U+6D41,U+6D6E,U+6D88,U+6DB5,U+6DC6,U+6DE1,U+6DF1,U+6DF7,U+6DFA,U+6E05,U+6E2C,U+6E32,U+6E38,U+6E4A,U+6E90,U+6E96,U+6EAB,U+6EC5,U+6ED1,U+6EFE,U+6EFF,U+6F02,U+6F0F,U+6F14,U+6FFE,U+700F,U+7070,U+707D,U+70B8,U+70BA,U+7121,U+7126,U+7136,U+7167,U+71B5,U+71C8,U+7206,U+720D,U+7236,U+723D,U+723E,U+7247,U+7248,U+724C,U+7267,U+7269,U+7279,U+727D,U+72C0,U+731C,U+7368,U+7387,U+738B,U+73AB,U+73FE,U+7406,U+7434,U+7470,U+74B0,U+751F,U+7522,U+7528,U+7531,U+7537,U+754C,U+7559,U+7565,U+756B,U+7570,U+7576,U+758A,U+7626,U+7642,U+767B,U+767C,U+767D,U+767E,U+7684,U+7686,U+76CA,U+76E1,U+76E3,U+76E4,U+76EE,U+76EF,U+76F4,U+76F8,U+7701,U+770B,U+771F,U+773C,U+775B,U+77AC,U+77E5,U+77ED,U+77EE,U+7834,U+786C,U+788C,U+789F,U+78B0,U+78BA,U+78BC,U+7919,U+793A,U+7956,U+795D,U+795E,U+7968,U+7981,U+79AE,U+79D2,U+79D8,U+79E9,U+79FB,U+7A0B,U+7A0D,U+7A2E,U+7A31,U+7A3D,U+7A3F,U+7A4C,U+7A4D,U+7A69,U+7A7A,U+7A7F,U+7A81,U+7A84,U+7A97,U+7ACB,U+7AD9,U+7AE0,U+7AEF,U+7AF6,U+7B26,U+7B2C,U+7B46,U+7B49,U+7B54,U+7B97,U+7BA1,U+7BAD,U+7BB1,U+7BC0,U+7BC4,U+7BE9,U+7C21,U+7C3D,U+7C3F,U+7C4D,U+7C64,U+7C73,U+7C89,U+7C97,U+7CB9,U+7CBE,U+7CDF,U+7CFB,U+7D00,U+7D04,U+7D05,U+7D0B,U+7D0D,U+7D14,U+7D19,U+7D1A,U+7D20,U+7D22,U+7D2F,U+7D30,U+7D42,U+7D44,U+7D50,U+7D55,U+7D61,U+7D66,U+7D71,U+7D81,U+7D93,U+7DA0,U+7DAD,U+7DB2,U+7DB4,U+7DCA,U+7DD2,U+7DDA,U+7DDE,U+7DE3,U+7DE8,U+7DE9,U+7E23,U+7E2E,U+7E3D,U+7E5E,U+7E6B,U+7E7C,U+7E8C,U+7F3A,U+7F6E,U+7F8E,U+7FA4,U+7FA9,U+7FFB,U+8001,U+8003,U+8005,U+800C,U+8036,U+8056,U+805A,U+806F,U+8072,U+8077,U+807D,U+80CC,U+80FD,U+8106,U+812B,U+8166,U+8173,U+81E8,U+81EA,U+81F3,U+81F4,U+8207,U+8209,U+820A,U+822A,U+822C,U+8272,U+82E5,U+82F1,U+83F1,U+842C,U+843D,U+8449,U+8457,U+846C,U+84CB,U+85A6,U+85CD,U+85CF,U+8655,U+865F,U+8667,U+87A2,U+8840,U+884C,U+884D,U+8857,U+885D,U+8868,U+88AB,U+88C1,U+88DC,U+88DD,U+88E1,U+88F8,U+88FD,U+8907,U+896F,U+897F,U+8981,U+8986,U+898B,U+898F,U+8996,U+89AA,U+89BA,U+89BD,U+89C0,U+89D2,U+89E3,U+89F8,U+8A00,U+8A02,U+8A08,U+8A0A,U+8A0E,U+8A18,U+8A2A,U+8A2D,U+8A31,U+8A3B,U+8A5E,U+8A62,U+8A66,U+8A71,U+8A72,U+8A73,U+8A8C,U+8A8D,U+8A9E,U+8AA4,U+8AAA,U+8AB0,U+8ABF,U+8AC7,U+8ACB,U+8AD6,U+8B1B,U+8B49,U+8B58,U+8B66,U+8B6F,U+8B70,U+8B77,U+8B80,U+8B8A,U+8B93,U+8C61,U+8C8C,U+8CA0,U+8CAB,U+8CAC,U+8CBB,U+8CBC,U+8CC7,U+8CEA,U+8CED,U+8CF4,U+8D0F,U+8D70,U+8D77,U+8D85,U+8D8A,U+8D9F,U+8DB3,U+8DD1,U+8DDD,U+8DDF,U+8DE8,U+8DEF,U+8DF3,U+8E29,U+8E64,U+8E6D,U+8EAB,U+8EDF,U+8EF8,U+8F03,U+8F09,U+8F15,U+8F29,U+8F2A,U+8F2F,U+8F38,U+8F49,U+8FA6,U+8FA8,U+8FD1,U+8FD4,U+8FF0,U+8FF4,U+8FFD,U+9000,U+9001,U+9003,U+900F,U+9010,U+9014,U+9017,U+9019,U+901A,U+901F,U+9020,U+9023,U+9031,U+9032,U+903C,U+9047,U+904B,U+904E,U+9053,U+9054,U+9055,U+905E,U+9060,U+9069,U+906D,U+9072,U+9077,U+9078,U+907A,U+907F,U+9084,U+908A,U+908F,U+90A3,U+90E8,U+90F5,U+90FD,U+9130,U+914D,U+9192,U+91AB,U+91CD,U+91CF,U+91D1,U+91D8,U+91DD,U+9215,U+9264,U+92B7,U+92F8,U+9304,U+932F,U+9375,U+9396,U+93C8,U+9418,U+9438,U+9470,U+9577,U+9580,U+9583,U+9589,U+958B,U+9593,U+9598,U+95B1,U+95DC,U+9632,U+963B,U+9644,U+964D,U+9650,U+9662,U+9663,U+9664,U+9670,U+9677,U+968E,U+9694,U+969B,U+969C,U+96A8,U+96AA,U+96B1,U+96C6,U+96D6,U+96D9,U+96DC,U+96E2,U+96E3,U+96F2,U+96F6,U+96FB,U+9700,U+9748,U+975C,U+975E,U+9760,U+9762,U+97F3,U+97FF,U+9801,U+9802,U+9805,U+9806,U+9808,U+9810,U+9818,U+982D,U+983B,U+9846,U+984C,U+984D,U+984F,U+985B,U+985E,U+9867,U+986F,U+98A8,U+98C4,U+98DB,U+98FD,U+98FE,U+9918,U+9996,U+99D0,U+9A57,U+9A5F,U+9AA8,U+9AD2,U+9AD4,U+9AD8,U+9EBC,U+9ED1,U+9ED8,U+9EDE,U+9F20,U+9F4A,U+9F52,U+9F61}@layer app{:root{--color-rose-800: #b95866;--color-rose-700: #ca6a75;--color-rose-600: #d77b85;--color-rose-200: #f1c7cc;--color-rose-100: #fbeaec;--color-rose-50: #fff4f5;--color-canvas: #fbf8f4;--color-paper: #fffdfc;--color-warm-border: #eaddd9;--color-warm-ink: #3c3031;--color-muted-brown: #806f70;--color-primary: var(--color-rose-700);--color-primary-hover: var(--color-rose-800);--color-primary-light: var(--color-rose-200);--color-primary-bg: var(--color-rose-50);--color-bg: var(--color-canvas);--color-surface: var(--color-paper);--color-border: var(--color-warm-border);--color-border-light: #f1e8e5;--color-text: var(--color-warm-ink);--color-text-secondary: var(--color-muted-brown);--color-text-muted: #9b898a;--color-danger-light: #fbe7e9;--color-info: #3974b7;--color-accent: #9555d4;--page-canvas-pattern: radial-gradient(color-mix(in srgb, var(--color-primary) 10%, transparent) .7px, transparent .7px);--page-canvas-pattern-size: 22px 22px;--color-sidebar-bg: var(--color-rose-800);--color-sidebar-border: rgba(255, 255, 255, .16);--color-sidebar-hover: rgba(255, 255, 255, .13);--color-sidebar-active: rgba(255, 255, 255, .18);--color-success: #79a983;--color-warning: #c89b55;--color-danger: #c9515e;--color-sidebar-alert: #ffe45e;--color-sidebar-text: #ffffff;--color-sidebar-text-muted: rgba(255, 255, 255, .7);--color-row-hover: var(--color-rose-50);--color-row-selected: var(--color-rose-100);--religious-art-filter: sepia(1) hue-rotate(300deg) saturate(1.8) brightness(.9) contrast(.9);--font-display: "Noto Serif TC", "Songti TC", "Source Han Serif TC", "PMingLiU", serif;--font-sans: "JF Open Huninn", "Noto Sans TC", "PingFang TC", "Microsoft JhengHei", sans-serif;--font-mono: "JetBrains Mono", "SF Mono", "Fira Code", monospace;--app-font-size: 16px;--app-font-scale: 1;--text-title: 600 2rem/1.25 var(--font-display);--text-subtitle: 600 1rem/1.5 var(--font-sans);--text-body: 400 .875rem/1.55 var(--font-sans);--text-caption: 400 .8125rem/1.5 var(--font-sans);--text-small: 400 .75rem/1.45 var(--font-sans);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-12: 48px;--radius-sm: 10px;--radius-md: 14px;--radius-lg: 20px;--radius-xl: 26px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(70, 42, 45, .04);--shadow-md: 0 1px 2px rgba(70, 42, 45, .04), 0 10px 28px rgba(112, 65, 70, .06);--shadow-lg: 0 18px 48px rgba(112, 65, 70, .12);--shadow-xl: 0 24px 64px rgba(86, 47, 51, .18);--shadow-card: var(--shadow-md);--shadow-floating: var(--shadow-lg);--ease-standard: cubic-bezier(.2, .8, .2, 1);--motion-fast: .14s;--motion-normal: .22s;--motion-slow: .32s;--transition-fast: var(--motion-fast) var(--ease-standard);--transition-normal: var(--motion-normal) var(--ease-standard);--transition-slow: var(--motion-slow) var(--ease-standard);--sidebar-width: 228px;--sidebar-collapsed-width: 72px;--sidebar-header-height: 64px;--header-height: 64px;--app-footer-height: 65px;--panel-width: 420px;--table-row-height: 56px;--member-form-module-max-width: 1480px;--control-select-min-width: 124px;--settings-nav-width: 240px}}@layer app{*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:var(--app-font-size, 16px);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font:var(--text-body);background:radial-gradient(circle at 1px 1px,color-mix(in srgb,var(--color-primary) 10%,transparent) 1px,transparent 0) 0 0/22px 22px,var(--color-bg);line-height:1.5}*{font-family:inherit}a{color:var(--color-primary);text-decoration:none}a:hover{color:var(--color-primary-hover)}.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}.app-layout{display:flex;height:100vh;overflow:hidden}.sidebar{width:var(--sidebar-width);min-width:var(--sidebar-width);height:100vh;border-right:1px solid var(--color-sidebar-border);display:flex;flex-direction:column;transition:width var(--transition-normal),min-width var(--transition-normal);overflow:hidden;position:relative;z-index:10}.sidebar.collapsed{width:var(--sidebar-collapsed-width);min-width:var(--sidebar-collapsed-width)}.sidebar-header{height:var(--sidebar-header-height);display:flex;align-items:center;padding:0 var(--space-4);gap:var(--space-2);border-bottom:1px solid var(--color-sidebar-border);flex-shrink:0}.sidebar-logo{display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.875rem;flex-shrink:0}.sidebar-title{font:var(--text-subtitle);color:var(--color-sidebar-text);white-space:nowrap;overflow:hidden;opacity:1;transition:opacity var(--transition-fast)}.sidebar.collapsed .sidebar-title{opacity:0}.sidebar-toggle{margin-left:auto;width:24px;height:24px;border:none;background:#ffffff1f;cursor:pointer;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;color:var(--color-sidebar-text-muted);flex-shrink:0;transition:background var(--transition-fast),transform var(--transition-normal)}.sidebar-toggle:hover{background:var(--color-sidebar-hover);color:var(--color-sidebar-text)}.sidebar.collapsed .sidebar-toggle{transform:rotate(180deg)}.sidebar.collapsed .sidebar-header{justify-content:center;padding-inline:0}.sidebar.collapsed .sidebar-logo{display:none}.sidebar.collapsed .sidebar-toggle{margin-left:0;width:32px;height:32px}.sidebar-user{border-bottom:1px solid var(--color-sidebar-border);display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.sidebar-user-avatar{width:28px;height:28px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font:var(--text-small);font-weight:600;flex-shrink:0}.sidebar-user-name{font:var(--text-body);font-weight:500;color:var(--color-sidebar-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:1;transition:opacity var(--transition-fast)}.sidebar.collapsed .sidebar-user-name{opacity:0}.sidebar-nav{flex:1;overflow-y:auto;overflow-x:hidden}.sidebar-nav::-webkit-scrollbar{width:4px}.sidebar-nav::-webkit-scrollbar-thumb{background:var(--color-sidebar-border);border-radius:2px}.sidebar-footer{padding:var(--space-3) var(--space-2);border-top:1px solid var(--color-sidebar-border);flex-shrink:0}.sidebar-logout{color:color-mix(in srgb,var(--color-sidebar-text) 88%,var(--color-primary-light))}.sidebar-logout:hover{color:#fff;background:#ffffff1f}.sidebar-nav__group{margin-bottom:var(--space-4)}.sidebar-nav__group-label{margin:0 0 var(--space-2);padding-inline:14px;font:var(--text-small);font-weight:700;letter-spacing:.06em;color:var(--color-sidebar-text-muted);white-space:nowrap;overflow:hidden}.sidebar-nav__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.nav-item{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:0 14px;background:transparent;cursor:pointer;font:var(--text-body);transition:transform var(--transition-fast),background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast);white-space:nowrap;position:relative;overflow:hidden}.nav-item:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,color-mix(in srgb,var(--color-info) 16%,transparent),transparent);opacity:0;transition:opacity var(--transition-fast)}.nav-item:hover{color:#fff}.nav-item:hover:after{opacity:1}.nav-item.active{color:#fff}.nav-item.active:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:22px;background:color-mix(in srgb,var(--color-info) 55%,#fff);border-radius:0 3px 3px 0;transition:height var(--transition-fast),background var(--transition-fast)}.nav-item.has-pending-tasks{font-weight:800}.nav-item.has-pending-tasks>span:after{content:" ·";color:var(--color-sidebar-alert);font-weight:900}.nav-item>span,.nav-item-icon{position:relative;z-index:1}.nav-item-icon{color:currentColor}.nav-item:hover .nav-item-icon,.nav-item.active .nav-item-icon{transform:scale(1.02)}.auth-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:grid;grid-template-columns:minmax(390px,33%) minmax(0,100%);background:var(--color-bg);overflow-y:auto}.auth-screen__panel{min-width:0;min-height:100vh}.auth-screen__panel--form{display:flex;flex-direction:column;justify-content:center;gap:var(--space-4);overflow-y:auto;padding:clamp(28px,5vw,72px) clamp(24px,4vw,44px) clamp(28px,5vw,72px) clamp(34px,5vw,82px);background:radial-gradient(circle at 1px 1px,color-mix(in srgb,var(--color-primary) 8%,transparent) 1px,transparent 0) 0 0/22px 22px,linear-gradient(180deg,var(--color-surface) 0%,var(--color-primary-bg) 100%)}.auth-brand{max-width:520px}.auth-brand .directory-title{margin-top:6px;font-size:clamp(1.8rem,2.6vw,2.5rem)}.auth-brand p{max-width:34rem;margin-top:var(--space-2);color:var(--color-text-muted);font-size:.82rem;line-height:1.7}.auth-card{width:min(420px,100%);padding:clamp(22px,3vw,28px);margin-left:0}.auth-card__head{margin-bottom:var(--space-4)}.auth-locale-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;padding:3px;margin-bottom:var(--space-5);border:1px solid var(--color-border-light);border-radius:var(--radius-full);background:#ffffffa8}.auth-locale-tab{min-height:32px;border:0;border-radius:var(--radius-full);background:transparent;color:var(--color-text-muted);font:inherit;font-size:.74rem;font-weight:700;letter-spacing:.04em;cursor:pointer;transition:color var(--transition-fast)}.auth-locale-tab:hover,.auth-locale-tab.is-active{color:var(--color-text-secondary)}.auth-locale-tab:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.auth-locale-tabs.tabs-sliding .tabs-sliding__indicator{background:var(--color-primary-light);box-shadow:0 5px 12px color-mix(in srgb,var(--color-text) 12%,transparent)}.auth-card__head h2{margin:6px 0 4px;color:var(--color-text);font-family:var(--font-display);font-size:1rem;font-weight:600}.auth-card__head p{color:var(--color-text-muted);font-size:.78rem;line-height:1.7}.auth-field{display:block;margin-bottom:var(--space-3)}.auth-field>span{display:block;margin-bottom:6px;color:var(--color-text-secondary);font-size:.72rem;font-weight:600}.auth-input{width:100%;height:42px;padding:10px 16px;border:1px solid var(--color-border);font-size:.8rem;font-family:var(--font-sans);font-weight:500;line-height:1;-moz-appearance:none;appearance:none;-webkit-appearance:none;box-sizing:border-box;box-shadow:var(--shadow-sm);transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast)}.auth-input:hover{background:var(--color-surface)}.auth-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 4px var(--color-primary-bg)}.auth-submit{width:100%;margin-top:var(--space-2)}.auth-error{margin-top:var(--space-3);padding:10px 13px;border-radius:var(--radius-md);background:color-mix(in srgb,var(--color-danger) 8%,#fff);color:var(--color-danger);font-size:.72rem}.auth-footnote{max-width:420px;display:flex;flex-direction:column;gap:6px;color:var(--color-text-muted)}.auth-footnote span{color:var(--color-primary);font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.auth-footnote small{font-size:.72rem;line-height:1.6}.auth-screen__panel--visual{position:relative;background-color:color-mix(in srgb,var(--color-warning) 45%,var(--color-border));overflow:hidden}.auth-visual__image{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center right}.auth-visual__overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,color-mix(in srgb,var(--color-text) 6%,transparent),color-mix(in srgb,var(--color-text) 26%,transparent))}@media (max-width: 900px){.sidebar:not(.collapsed),.sidebar:not(.collapsed)~*{--sidebar-width: 176px}.sidebar:not(.collapsed){width:176px;min-width:176px}.sidebar:not(.collapsed) .sidebar-header{padding-inline:var(--space-3)}.sidebar:not(.collapsed) .sidebar-title{font-size:.875rem}}@media (max-width: 980px){.auth-screen{grid-template-columns:1fr}.auth-screen__panel--form{min-height:auto;padding-bottom:40px}.auth-screen__panel--visual{min-height:320px}}@media (max-width: 560px){.auth-screen__panel--form{padding:24px 18px 28px}.auth-card{width:100%}}.nav-item-icon{flex-shrink:0;width:17px;height:17px;opacity:.72;transition:opacity var(--transition-fast)}.nav-item.active .nav-item-icon{opacity:1;color:var(--color-primary)}.sidebar.collapsed .nav-item{padding-left:var(--space-2);height:40px}.sidebar.collapsed .nav-item.active:before{display:none}.sidebar.collapsed .nav-item-icon{width:19px;height:19px}.nav-item.has-pending-tasks,.nav-item.has-pending-tasks.active,.nav-item.has-pending-tasks>span,.nav-item.has-pending-tasks .nav-item-icon,.nav-item.has-pending-tasks.active .nav-item-icon{color:var(--color-sidebar-alert)!important}.main-area{flex:1;display:flex;flex-direction:column;min-width:0;height:100vh;overflow:hidden}.app-header{height:var(--header-height);min-height:var(--header-height);align-items:center;padding:0 var(--space-6);gap:var(--space-3);border-bottom:1px solid var(--color-border);flex-shrink:0}.app-header-breadcrumb{display:flex;align-items:center;font:var(--text-caption);color:var(--color-text-muted)}.app-header-breadcrumb span{color:var(--color-text-secondary)}.app-header-breadcrumb .current{color:var(--color-text)}.app-header-actions{display:flex;align-items:center;gap:var(--space-2);margin-left:auto}.header-btn{background:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary);font-size:1rem;transition:all var(--transition-fast);position:relative}.header-avatar{border-radius:var(--radius-full);color:#fff;display:flex;align-items:center;justify-content:center;font:var(--text-small);font-weight:600;cursor:pointer;transition:opacity var(--transition-fast)}.header-avatar:hover{opacity:.8}.content-area{flex:1;overflow-y:auto;position:relative}.app-footer{position:fixed;z-index:25;right:0;bottom:0;left:var(--sidebar-width);display:flex;align-items:center;min-height:var(--app-footer-height);padding:10px 24px;border-top:1px solid var(--color-border);background:color-mix(in srgb,var(--color-surface) 96%,transparent);box-shadow:0 -4px 16px color-mix(in srgb,var(--color-text) 5%,transparent);transition:left var(--transition-normal)}.sidebar.collapsed+.main-area .app-footer{left:var(--sidebar-collapsed-width)}.app-footer-host--roster,.app-footer-host--visits{display:none}.app-footer__font-controls{display:flex;align-items:center;gap:var(--space-2)}.app-footer__actions{display:flex;align-items:center;gap:var(--space-2);margin-left:auto}.app-footer__save-action{min-height:40px;padding:0 24px}.app-footer__font-controls button{flex-shrink:0;white-space:nowrap;min-height:38px;padding:0 14px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-secondary);cursor:pointer;font:600 .875rem/1 var(--font-sans)}.app-footer__font-controls button:hover:not(:disabled){border-color:var(--color-primary);background:var(--color-primary-bg);color:var(--color-primary-hover)}.app-footer__font-controls button:disabled{cursor:not-allowed;opacity:.4}.app-header{display:none!important}.content-area{min-height:100vh;padding-top:var(--space-6)}@media (max-width: 760px){.content-area{padding-top:var(--space-4)}}}@layer app{.toolbar{display:flex;align-items:center;gap:var(--space-2);padding-bottom:var(--space-4);flex-wrap:wrap;flex-shrink:0}.btn,.btn-primary,.btn-secondary,.btn-danger{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-1);border:1px solid var(--color-border);font:var(--text-body);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.btn:active{transform:scale(.97)}.btn-danger:hover{color:#fff}.btn-sm{padding:var(--space-1) var(--space-2);font:var(--text-caption)}.system-paths-page{margin:0 auto}.system-paths-surface{overflow:hidden}.system-paths-fields{display:grid;gap:19px}.system-path-field{display:grid;grid-template-columns:minmax(130px,.36fr) minmax(0,1fr);align-items:center;gap:3px 18px}.system-path-field>span{font-size:.8rem;font-weight:650}.system-path-field>small{grid-column:1;font-size:.68rem;line-height:1.4}.system-path-field>input{grid-column:2;grid-row:1 / span 2;width:100%;box-sizing:border-box;border-bottom:1px solid var(--color-border);font-size:.8rem}.system-path-field>input:focus{background:var(--color-surface)}.system-paths-feedback{margin:18px 0 0;padding:10px 13px;border-radius:10px;font-size:.78rem}.system-paths-feedback.is-error{background:color-mix(in srgb,var(--color-danger) 8%,#fff);color:var(--color-danger)}.system-paths-feedback.is-success{background:color-mix(in srgb,var(--color-success) 15%,#fff);color:color-mix(in srgb,var(--color-success) 70%,#000)}.system-paths-actions{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 0 0;border-top:1px solid var(--color-border-light);margin-top:20px}.system-paths-actions p{margin:0;font-size:.72rem}.system-paths-actions--danger{border-top-color:color-mix(in srgb,var(--color-danger) 35%,#fff)}.system-paths-actions--danger p{color:var(--color-danger)}.system-paths-loading{padding:32px 0;color:var(--color-text-muted);text-align:center}.settings-module{overflow:hidden}.settings-module+.settings-module{margin-top:var(--space-8)}.settings-module__header{display:flex;align-items:center;width:100%;min-height:44px;padding:var(--space-4) var(--space-5);border:none;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer;gap:var(--space-3)}.settings-module__icon{display:flex;flex-shrink:0;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-md);background:var(--color-primary-bg);color:var(--color-primary)}.settings-module__heading{display:flex;flex:1;min-width:0;flex-direction:column;gap:2px}.settings-module__title{font-family:var(--font-display);font-size:.94rem;font-weight:600;color:var(--color-text)}.settings-module__subtitle{overflow:hidden;color:var(--color-text-muted);font-size:.76rem;line-height:1.5;text-overflow:ellipsis;white-space:nowrap}.settings-module__meta{flex-shrink:0}.settings-module__chevron{flex-shrink:0;color:var(--color-text-muted);transition:transform var(--transition-normal)}.settings-module.is-open .settings-module__chevron{color:var(--color-primary);transform:rotate(180deg)}.settings-module__body-wrap{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--transition-normal)}.settings-module.is-open .settings-module__body-wrap{grid-template-rows:1fr}.settings-module__body-inner{overflow:hidden}.settings-module__body{padding:var(--space-5);border-top:1px solid var(--color-border-light)}@media (prefers-reduced-motion: reduce){.settings-module__body-wrap,.settings-module__chevron{transition:none}}@media (max-width: 760px){.settings-module__header{padding:var(--space-3) var(--space-4)}.settings-module__subtitle{white-space:normal}.settings-module__body{padding:var(--space-4)}}.output-layout{display:grid;align-items:start}.output-sidebar{position:sticky}.output-sidebar__head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4)}.output-sidebar__head h2{margin:0 0 4px;color:var(--color-text);font-family:var(--font-display);font-size:1rem;font-weight:600}.output-sidebar__head p{margin:0;color:var(--color-text-muted);font-size:.78rem;line-height:1.6}.output-search{display:block;margin-bottom:var(--space-4)}.output-search__label{display:block;margin-bottom:6px;color:var(--color-text-secondary);font-size:.76rem;font-weight:600}.output-filter-list{display:flex;flex-direction:column;gap:16px;overflow:auto;padding-right:2px}.output-filter-group{display:flex;flex-direction:column;gap:8px}.output-filter-group__label{color:var(--color-text-muted);font-size:.7rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.output-filter-item{width:100%;border:1px solid var(--color-border-light);background:var(--color-surface);cursor:pointer;text-align:left;transition:transform var(--transition-fast),box-shadow var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast)}.output-filter-item:hover{border-color:var(--color-primary-light);background:var(--color-primary-bg);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.output-filter-item.is-active{border-color:var(--color-primary);background:var(--color-primary-bg);box-shadow:0 8px 24px color-mix(in srgb,var(--color-primary) 12%,transparent)}.output-filter-item__title{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin-bottom:6px}.output-filter-item__title strong{overflow:hidden;color:var(--color-text);font-size:.84rem;text-overflow:ellipsis;white-space:nowrap}.output-filter-item__meta{display:flex;gap:10px;flex-wrap:wrap;color:var(--color-text-muted);font-size:.72rem}.output-main{display:flex;flex-direction:column;min-width:0}.output-panel__head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4)}.output-panel__head h3{margin:0 0 4px;color:var(--color-text);font-family:var(--font-display);font-weight:600}.output-panel__head p{margin:0;color:var(--color-text-muted);font-size:.78rem;line-height:1.6}.output-actions{display:flex;gap:var(--space-2);flex-wrap:wrap}.output-feedback{margin-top:var(--space-3);padding:10px 13px;border-radius:var(--radius-md);font-size:.78rem}.output-feedback.is-error{background:color-mix(in srgb,var(--color-danger) 8%,#fff);color:var(--color-danger)}.output-feedback.is-success{background:color-mix(in srgb,var(--color-success) 18%,var(--color-surface));color:var(--color-success)}.output-panel--wide{grid-column:1 / -1}.output-form-field{display:flex;flex-direction:column;gap:6px;margin-bottom:var(--space-4)}.output-form-field>span{color:var(--color-text-secondary);font-size:.78rem;font-weight:600}.output-radio-group{display:flex;gap:var(--space-3);flex-wrap:wrap}.output-radio{display:flex;align-items:center;gap:6px;padding:8px 14px;border:1px solid var(--color-border-light);border-radius:var(--radius-full);background:var(--color-surface);color:var(--color-text-secondary);font-size:.8rem;cursor:pointer;transition:border-color var(--transition-fast),background var(--transition-fast)}.output-radio.is-active{border-color:var(--color-primary);background:var(--color-primary-bg);color:var(--color-text)}.output-checkbox-group{display:flex;gap:8px;flex-wrap:wrap}.output-checkbox{display:flex;align-items:center;gap:6px;padding:7px 12px;border:1px solid var(--color-border-light);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-secondary);font-size:.78rem;cursor:pointer;transition:border-color var(--transition-fast),background var(--transition-fast)}.output-checkbox.is-active{border-color:var(--color-primary);background:var(--color-primary-bg);color:var(--color-text)}.output-textarea{width:100%;box-sizing:border-box;padding:10px 14px;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);color:var(--color-text);font-family:inherit;font-size:.84rem;resize:vertical}.output-textarea:focus{outline:0;border-color:var(--color-primary);box-shadow:0 0 0 4px var(--color-primary-bg)}.task-page{display:flex;flex-direction:column;gap:var(--space-5);max-width:1240px}.task-page__meta{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;justify-content:flex-end}.task-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-3)}.task-stat{padding:var(--space-4);border-radius:var(--radius-xl);background:var(--color-surface);border:1px solid var(--color-border-light);box-shadow:var(--shadow-sm)}.task-stat span{display:block;color:var(--color-text-muted);font-size:.72rem}.task-stat strong{display:block;margin-top:6px;color:var(--color-text);font-family:var(--font-display);font-size:1.25rem;font-weight:600}.task-layout{display:grid;grid-template-columns:minmax(0,.98fr) minmax(0,1.12fr);gap:var(--space-5);align-items:start}.task-layout--full{grid-template-columns:1fr}.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-4)}.panel-head h2{margin:2px 0 4px;color:var(--color-text);font-family:var(--font-display);font-size:1.05rem;font-weight:600}.panel-head p{margin:0;color:var(--color-text-muted);font-size:.78rem;line-height:1.6}.form-modal-card,.task-list-card{padding:var(--space-5)}.form-modal-field--checkbox{flex-direction:row;align-items:center;gap:var(--space-2)}.form-modal-field--checkbox input{width:auto;min-height:0}.form-modal-actions--split{justify-content:space-between}.form-modal-actions--split>.form-modal-actions{margin-top:0}.form-modal-actions__prompt{color:var(--color-danger);font-size:.8rem}.form-modal__close{position:absolute;top:12px;right:12px;width:32px;height:32px;border:1px solid var(--color-border);border-radius:50%;background:var(--color-surface);color:var(--color-text-secondary);font-size:1.1rem;line-height:1;cursor:pointer}.form-modal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.form-modal-field{display:flex;flex-direction:column;gap:6px;min-width:0}.form-modal-field--full{grid-column:1 / -1}.form-modal-field>span{color:var(--color-text-secondary);font-size:.74rem;font-weight:600}.form-modal-field input,.form-modal-field select,.form-modal-field textarea{width:100%;box-sizing:border-box;font-size:.82rem}.form-modal-field input,.form-modal-field select{min-height:36px}.form-modal-field textarea{min-height:120px;padding:12px 14px;border-radius:18px;resize:vertical}.form-modal-field input:focus,.form-modal-field select:focus,.form-modal-field textarea:focus{outline:0;border-color:var(--color-primary);box-shadow:0 0 0 4px var(--color-primary-bg)}.form-modal-actions{display:flex;align-items:center;gap:var(--space-3);margin-top:var(--space-4);flex-wrap:wrap}.form-modal-feedback{margin-top:var(--space-3);padding:10px 13px;border-radius:var(--radius-md);font-size:.78rem}.form-modal-feedback.is-error{background:color-mix(in srgb,var(--color-danger) 8%,#fff);color:var(--color-danger)}.task-list__filters{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;justify-content:flex-end}.task-list__filters select{min-height:36px;padding:8px 12px;border:1px solid var(--color-border);border-radius:var(--radius-full);background:var(--color-surface);color:var(--color-text);font-size:.8rem}.task-search{width:260px}.task-row__title{display:flex;flex-direction:column;gap:4px}.task-row__title strong{color:var(--color-text);font-size:.84rem}.task-row__title span{color:var(--color-text-muted);font-size:.72rem;line-height:1.5}.task-row__actions{display:flex;gap:6px;flex-wrap:wrap}.task-row--linked{cursor:pointer}.task-row--linked:hover{background:var(--color-primary-bg)}.form-modal{position:relative;box-sizing:border-box}.modal-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-5)}.design-modal-surface.modal-form{box-sizing:border-box;width:min(420px,94vw);padding:var(--space-6)}.modal-form-lead{margin-top:0;color:var(--color-text-muted);font-size:.8125rem}.modal-form-field{display:flex;flex-direction:column;gap:6px;margin-top:var(--space-4)}.modal-form-fieldset{display:flex;flex-direction:column;gap:6px;margin:var(--space-4) 0 0;padding:0;border:0}.modal-form-fieldset>legend{padding:0;margin-bottom:4px}.modal-form-check{display:flex;align-items:center;gap:6px}.modal-form-note{font-size:.8125rem;line-height:1.7}.visually-hidden-input{display:none}.design-modal-surface.batch-visit-dialog{width:min(920px,94vw);max-width:920px;height:min(720px,88vh)}.batch-visit-dialog{display:grid;grid-template-columns:240px minmax(0,1fr);overflow:hidden}.batch-visit-dialog aside{display:flex;flex-direction:column;gap:4px;padding:var(--space-4);border-right:1px solid var(--color-border-light);background:var(--color-primary-bg)}.batch-visit-dialog aside button{padding:var(--space-2);border:0;background:transparent;text-align:left;cursor:pointer}.batch-visit-dialog aside button.is-active{background:var(--color-surface);color:var(--color-primary);font-weight:700}.batch-visit-dialog main{padding:var(--space-5)}.form-modal.form-modal--narrow{width:min(520px,calc(100vw - 40px));max-width:520px}.form-modal.form-modal--narrow .form-modal-grid{grid-template-columns:1fr}.form-modal-card .panel-head{padding-right:40px}.task-table-card{margin-top:var(--space-2)}@media (max-width: 980px){.output-layout{grid-template-columns:1fr}.output-sidebar{position:static}}@media (max-width: 1180px){.task-layout{grid-template-columns:1fr}}@media (max-width: 960px){.task-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.panel-head{flex-direction:column}.task-list__filters{justify-content:flex-start}.task-search{width:100%}}@media (max-width: 640px){.task-stats,.form-modal-grid{grid-template-columns:1fr}.form-modal-field--full{grid-column:auto}.task-row__actions{flex-direction:column;align-items:stretch}}@media (max-width: 760px){.system-paths-actions{align-items:stretch;flex-direction:column}.system-path-field{grid-template-columns:1fr}.system-path-field>small,.system-path-field>input{grid-column:1;grid-row:auto}.system-paths-feedback{margin-inline:20px}.system-paths-actions{padding-inline:20px}.output-sidebar__head{flex-direction:column;align-items:stretch}}.badge-user{background:color-mix(in srgb,var(--color-info) 8%,#fff);color:var(--color-info)}.badge-viewer{background:var(--color-bg);color:var(--color-text-muted)}table{width:100%;border-collapse:collapse;table-layout:auto}thead{position:sticky;top:0;z-index:2}th{padding:0 var(--space-3);font:var(--text-caption);font-weight:700;text-align:left;border-bottom:1px solid color-mix(in srgb,var(--color-warning) 35%,var(--color-surface));white-space:nowrap;-webkit-user-select:none;user-select:none;position:relative}th:not(:last-child):after{content:"";position:absolute;right:0;top:8px;bottom:8px;width:1px;background:var(--color-border)}td{height:var(--table-row-height);padding:0 var(--space-3);font:var(--text-body);color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}tbody tr{transition:background var(--transition-fast);cursor:pointer}tbody tr.selected{background:var(--color-row-selected)}tbody tr:last-child td{border-bottom:none}.badge{display:inline-flex;align-items:center;padding:1px var(--space-2);border-radius:var(--radius-full);font:var(--text-small);font-weight:500;height:22px}.badge-neutral{background:var(--color-bg);color:var(--color-text-secondary)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-12) var(--space-6);color:var(--color-text-muted);text-align:center;gap:var(--space-2)}.icon-remove-btn{--size: 28px;flex:0 0 auto;display:grid;place-items:center;width:var(--size);height:var(--size);border:1px solid transparent;border-radius:var(--radius-full);background:transparent;color:var(--color-text-muted);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast)}.icon-remove-btn:hover{background:var(--color-danger-light);border-color:var(--color-danger-light);color:var(--color-danger)}.icon-remove-btn:focus-visible{outline:2px solid var(--color-primary-light);outline-offset:2px}.inline-warning{display:inline-flex;align-items:center;gap:4px;font-size:.75rem;color:var(--color-danger)}.inline-warning svg{flex:0 0 auto}.empty-state-icon{color:var(--color-primary-light);margin-bottom:var(--space-1)}.empty-state-title{font:var(--text-subtitle);color:var(--color-text-secondary)}.empty-state-desc{font:var(--text-body);max-width:280px}.skeleton{background:linear-gradient(90deg,var(--color-border-light) 25%,var(--color-border) 50%,var(--color-border-light) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-sm)}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-row{height:var(--table-row-height);margin-bottom:1px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.tabs{display:flex;gap:0;border-bottom:1px solid var(--color-border);margin-bottom:var(--space-4)}.tab{padding:var(--space-2) var(--space-4);font:var(--text-body);font-weight:500;color:var(--color-text-secondary);cursor:pointer;border:none;background:none;border-bottom:2px solid transparent;transition:all var(--transition-fast);margin-bottom:-1px}.tab:hover{color:var(--color-text)}.tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.form-page-header{display:flex;align-items:center;gap:20px;padding:8px 0 24px;border-bottom:1px solid color-mix(in srgb,var(--color-warning) 35%,var(--color-surface));margin-bottom:20px}.form-identity{display:flex;flex-direction:column;gap:6px;flex:1}.form-name-input{font-size:1.3rem;font-weight:700;color:var(--color-text);border:none;background:transparent;padding:0;outline:none;width:100%;font-family:inherit}.form-name-input::placeholder{color:var(--color-text-muted)}.form-section-card{background:#fff;border:1px solid var(--color-border);border-radius:16px;overflow:hidden;margin-bottom:16px}.form-section-card-header{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;background:var(--color-bg);border-bottom:1px solid color-mix(in srgb,var(--color-warning) 35%,var(--color-surface))}.form-section-card-header h3{font-size:.85rem;font-weight:700;color:var(--color-text);margin:0}.form-section-card-header .field-count{font-size:.7rem;color:var(--color-text-muted);background:var(--color-border-light);padding:2px 10px;border-radius:30px}.form-section-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 24px;padding:16px 18px}.form-field-group{display:flex;flex-direction:column;gap:4px}.form-field-group.full{grid-column:1 / -1}.form-field-label{font-size:.78rem;font-weight:600;color:var(--color-text);display:flex;align-items:center;gap:4px}.form-field-label .required-star{color:var(--color-primary)}.form-field-hint{font-size:.68rem;color:var(--color-text-muted);margin-top:2px}.form-input{padding:8px 12px;border:1px solid var(--color-border);font-size:.85rem;outline:none;transition:border-color .15s ease,box-shadow .15s ease;font-family:inherit;width:100%;box-sizing:border-box}.form-input::placeholder{color:var(--color-text-muted)}select.form-input{cursor:pointer}textarea.form-input{resize:vertical;min-height:80px}.form-tab-content{padding-bottom:88px}.form-alert{padding:10px 16px;border-radius:10px;font-size:.82rem;font-weight:600;margin-bottom:16px}.form-alert--success{background:color-mix(in srgb,var(--color-success) 15%,#fff);color:color-mix(in srgb,var(--color-success) 70%,#000);border-left:4px solid color-mix(in srgb,var(--color-success) 60%,#fff)}.form-alert--error{background:var(--color-danger-light);color:var(--color-danger);border-left:4px solid var(--color-primary)}.form-rel-card{display:flex;gap:12px;align-items:flex-start;padding:12px;border:1px solid var(--color-border-light);border-radius:12px;background:var(--color-bg)}.form-rel-card>*{flex:1}@media (max-width: 768px){.form-section-grid{grid-template-columns:1fr}.form-page-header{flex-direction:column;align-items:flex-start}}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-5);box-shadow:var(--shadow-sm)}select,input[type=text],input[type=search],input[type=password]{padding:var(--space-1) var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);font:var(--text-body);color:var(--color-text);background:var(--color-surface);outline:none;transition:all var(--transition-fast)}select:focus,input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;min-width:var(--control-select-min-width);height:36px;min-height:36px;line-height:1.35;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236B7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:32px}.content-area::-webkit-scrollbar{width:6px}.content-area::-webkit-scrollbar-track{background:transparent}.content-area::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}.content-area::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}.output-page{max-width:none}.output-page>.page-header-block{margin-bottom:10px}.output-layout{grid-template-columns:320px minmax(0,1fr);gap:14px}.output-sidebar{top:12px;padding:10px;border:1px solid var(--color-border);border-radius:16px;background:color-mix(in srgb,var(--color-surface) 76%,transparent);box-shadow:var(--shadow-card)}.output-sidebar--accordion .settings-module+.settings-module{margin-top:8px}.output-sidebar--accordion .settings-module__header{padding:11px 10px}.output-sidebar--accordion .settings-module__subtitle{font-size:.68rem}.output-main{gap:14px}.output-panel{padding:14px;border-radius:16px}.output-panel__head{margin-bottom:12px}.output-panel__head h3{font-size:.9rem}.output-filter-list{max-height:252px;overflow-y:auto;scrollbar-width:thin}.output-filter-item{padding:10px;border-radius:12px}@media (max-width: 1050px){.output-layout{grid-template-columns:210px minmax(0,1fr)}}@media (max-width: 760px){.output-layout{grid-template-columns:1fr}.output-sidebar{position:static}}.output-main>.output-panel{min-height:0}.output-preview-table{min-width:0;overflow:auto;max-height:calc(100vh - 220px)}.output-preview-table .command-results{min-height:0}.output-transpose-table-wrap{max-height:calc(100vh - 220px);overflow:auto;border:1px solid var(--color-border-light);border-radius:var(--radius-lg);background:var(--color-surface)}.output-transpose-table{width:100%;min-width:520px;border-collapse:separate;border-spacing:0}.output-transpose-table th,.output-transpose-table td{padding:11px 14px;text-align:left;vertical-align:top;font-size:.8rem}.output-transpose-table thead th{position:sticky;top:0;z-index:1}.output-transpose-table tbody th{width:30%;color:var(--color-text-secondary);background:var(--color-primary-bg);font-weight:600}.output-transpose-table tbody tr:last-child th,.output-transpose-table tbody tr:last-child td{border-bottom:0}.output-sheet-tabs{display:flex;gap:6px;overflow-x:auto;margin-bottom:10px;padding-bottom:2px}.output-sheet-tabs button{flex:0 0 auto;min-height:34px;padding:0 14px;border:1px solid var(--color-border-light);border-radius:var(--radius-full);background:var(--color-surface);color:var(--color-text-secondary);cursor:pointer;font-size:.76rem}.output-sheet-tabs button.is-active{border-color:var(--color-primary);background:var(--color-primary-bg);color:var(--color-primary);font-weight:700}.output-sheet__scroll{overflow:auto;max-height:calc(100vh - 290px)}@media (max-width: 760px){.output-preview-table,.output-transpose-table-wrap{max-height:none}.output-panel__head{flex-direction:column}}}.error-boundary{display:grid;justify-items:center;gap:var(--space-3);max-width:560px;margin:var(--space-12) auto;padding:var(--space-6);border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface);box-shadow:var(--shadow-md);text-align:center}.error-boundary>svg{color:var(--color-danger)}.error-boundary h2{margin:0;font:var(--text-subtitle);color:var(--color-text)}.error-boundary p{margin:0;color:var(--color-text-secondary);font-size:.8125rem}.error-boundary__detail{max-width:100%;margin:0;padding:var(--space-3);overflow-x:auto;border-radius:var(--radius-md);background:var(--color-bg);color:var(--color-text-muted);font-family:var(--font-mono);font-size:.75rem;text-align:left}.error-boundary__actions{display:flex;gap:var(--space-2)}@layer app{:root{--member-input-line: var(--color-border);--member-input-hover: var(--color-primary-light);--member-focus: var(--color-primary)}.member-detail-page{background:var(--color-bg);min-height:100%;font-family:inherit;color:var(--color-text)}.member-detail-surface{background:#fff;min-height:calc(100vh - 48px);padding:32px 40px 96px}.member-profile-avatar{width:72px;height:72px;flex:0 0 72px;border-radius:50%;display:grid;place-items:center;font-size:28px;font-weight:700}.member-avatar-uploader{flex:0 0 72px}.member-avatar-uploader .member-profile-avatar{position:relative;overflow:hidden;cursor:pointer}.member-avatar-uploader .member-profile-avatar img{width:100%;height:100%;object-fit:cover}.member-avatar-uploader .member-profile-avatar>input{display:none}.member-avatar-overlay{position:absolute;inset:auto 0 0;padding:4px 2px;background:color-mix(in srgb,var(--color-text) 68%,transparent);color:#fff;font-size:10px;font-weight:600;text-align:center;opacity:0;transition:opacity .15s ease}.member-profile-avatar:hover .member-avatar-overlay{opacity:1}.member-form-field{display:flex;flex-direction:column;gap:8px;min-width:0}.member-form-field--wide{grid-column:1 / -1}@media (max-width: 760px){.member-detail-surface{padding:24px 20px 80px}}.member-edit-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;width:auto;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;overflow:hidden;border:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:var(--color-bg);color:var(--color-text)}.member-edit-modal__body{min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding:24px clamp(20px,5vw,72px) 120px}.member-edit-modal__content,.member-edit-modal__body>.form-alert,.member-edit-modal__state{max-width:1180px;margin-left:auto;margin-right:auto}.member-edit-modal__state{padding:48px 20px;color:var(--color-text-muted);text-align:center}.member-edit-modal__footer{display:flex;justify-content:flex-end;gap:12px;padding:14px clamp(20px,5vw,72px);border-top:1px solid var(--color-border)}.member-edit-modal__footer .app-footer__font-controls{margin-right:auto}.sidebar+.main-area .member-edit-modal{left:var(--sidebar-width)}.sidebar.collapsed+.main-area .member-edit-modal{left:var(--sidebar-collapsed-width)}.sidebar-back{margin:4px 8px 12px;border:1px solid rgba(255,255,255,.18);background:#ffffff0f}.sidebar-back:hover{background:#ffffff24}.member-reference-display{display:inline-flex;align-items:center;gap:10px;vertical-align:middle}.member-reference-copy{display:inline-flex;flex-direction:column;gap:2px;min-width:0}.member-reference-avatar{width:34px;height:34px;flex:0 0 34px;border-radius:50%;object-fit:cover}.candidate-selected-member{display:flex;flex:1;min-width:0;flex-direction:column;align-items:flex-start;border:0;background:transparent;color:var(--color-text);font:inherit;text-align:left}.candidate-selected-member small{color:var(--color-text-muted);font-size:.7rem}.candidate-edit-member{flex:0 0 auto;padding:4px 10px;border:1px solid var(--color-primary-light);border-radius:var(--radius-full);background:var(--color-primary-bg);color:var(--color-primary);font-size:.7rem;font-weight:600;cursor:pointer;transition:border-color var(--transition-fast),background var(--transition-fast)}.candidate-edit-member:hover{border-color:var(--color-primary);background:var(--color-surface)}.candidate-clear-member{flex:0 0 auto;display:grid;place-items:center;width:20px;height:20px;border:none;border-radius:var(--radius-full);background:transparent;color:var(--color-text-muted);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.candidate-clear-member:hover{background:var(--color-danger-light);color:var(--color-danger)}.candidate-dropdown{z-index:10000;max-height:200px;overflow-y:auto;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);box-shadow:var(--shadow-md)}.candidate-option{display:grid;gap:3px;width:100%;padding:9px 12px;border:0;border-bottom:1px solid var(--color-border-light);background:var(--color-surface);font-size:.8rem;text-align:left;cursor:pointer}.candidate-option:hover{background:var(--color-primary-bg)}.candidate-option-meta{color:var(--color-text-secondary);font-size:.7rem}.candidate-hint{padding:10px 12px;color:var(--color-text-muted);font-size:.8rem;text-align:center}.candidate-hint--error{color:var(--color-danger)}.candidate-create-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:center;margin-top:var(--space-2)}.candidate-cancel-btn{padding:5px 16px;border:none;border-radius:var(--radius-full);background:var(--color-border-light);font-size:.8rem;cursor:pointer}.candidate-field{display:flex;flex:1;flex-direction:column;gap:4px;min-width:180px;font-size:.85rem}.candidate-field-label{color:var(--color-text);font-weight:600}.candidate-selected{display:flex;align-items:center;gap:var(--space-2);padding:6px 10px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-primary-bg)}.candidate-input-wrap{position:relative}.candidate-input{box-sizing:border-box;width:100%;padding:6px 10px;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.85rem}.candidate-create-btn{display:inline-flex;align-items:center;gap:var(--space-1);padding:5px 16px;border:1px solid var(--color-border);border-radius:var(--radius-full);background:var(--color-surface);color:var(--color-text-secondary);font-size:.8rem;cursor:pointer;transition:border-color var(--transition-fast),background var(--transition-fast)}.candidate-create-btn:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary)}.candidate-create-btn:disabled{opacity:.6;cursor:default}.candidate-create-btn--primary{border-color:transparent;background:var(--color-primary);color:#fff}.candidate-create-btn--primary:hover:not(:disabled){background:var(--color-primary-hover);border-color:transparent;color:#fff}.family-card{max-width:980px;margin:0 auto 14px;overflow:hidden;border:1px solid var(--color-border);border-radius:16px}.family-card--editor{position:relative;overflow:visible}.family-card--editor:focus-within{z-index:20}.family-card__header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px;border-bottom:1px solid var(--color-border-light)}.family-card__eyebrow{display:block;margin-bottom:1px;color:var(--color-text-muted);font-weight:700;letter-spacing:.1em;text-transform:uppercase}.family-card__header h3{margin:0;color:var(--color-text)}.family-card__count{padding:3px 9px;border-radius:999px;background:var(--color-border-light);color:var(--color-text-secondary)}.family-role-badge{justify-self:start;padding:3px 8px;border-radius:999px;font-weight:700}.family-relation-editor{display:flex;flex-direction:column;padding:8px 12px}.family-relation-editor__labels{display:grid;grid-template-columns:minmax(220px,1fr) 150px auto;gap:10px;padding:8px 4px 4px;color:var(--color-text-secondary);font-weight:600}.family-relation-editor__labels span:last-child{min-width:76px;text-align:center}.family-relation-editor__row .form-field-label{display:none}.family-relation-editor__row{display:grid;gap:10px;align-items:end;padding:8px 4px;border-bottom:1px solid var(--color-border-light)}.family-card__empty{padding:20px 8px;color:var(--color-text-muted);text-align:center}@media (max-width: 720px){.family-relation-editor__labels{grid-template-columns:1fr 110px auto}.family-relation-editor__row{grid-template-columns:1fr 110px 30px}}.family-row-actions{display:flex;gap:4px;align-items:center}.family-row-actions button{border:0;border-radius:999px;padding:6px 9px;background:var(--color-border-light);color:var(--color-text-secondary);cursor:pointer}.family-row-actions button:first-child{background:var(--color-primary-bg);color:var(--color-primary-hover)}.family-relation-editor__row{grid-template-columns:minmax(220px,1fr) 150px auto}.family-household-relation-editor .family-relation-editor__labels,.family-household-relation-editor .family-relation-editor__row{grid-template-columns:minmax(0,1fr) minmax(110px,1fr) minmax(0,1fr) auto}.family-household-relation-editor .family-relation-editor__row>.member-form-field{width:100%;min-width:0}.family-household-relation-editor .family-relation-editor__row>.member-form-field>div{width:100%;min-width:0!important}.family-household-directory,.family-household-directory .family-household-editor,.family-household-directory .family-household-relation-editor,.family-household-relation-editor .family-relation-editor__labels,.family-household-relation-editor .family-relation-editor__row{width:100%;min-width:0;box-sizing:border-box}.family-household-id-cell{display:flex;width:100%;min-width:0;min-height:40px;align-items:center;box-sizing:border-box;padding:0 10px;overflow:hidden;border:1px solid var(--color-border);border-radius:10px;background:var(--color-primary-bg);color:var(--color-text-secondary);font-size:.82rem;text-overflow:ellipsis;white-space:nowrap}.family-household-choice{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px;padding:8px 10px;border:1px solid var(--color-border-light);border-radius:var(--radius-md);background:var(--color-primary-bg)}.family-household-choice__candidate{display:flex;min-width:0;flex-direction:column;color:var(--color-text);font-weight:600}.family-household-choice__candidate small{color:var(--color-text-muted);font-weight:500}.family-household-choice__actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.family-household-choice__actions button{padding:5px 10px;border:1px solid var(--color-border);border-radius:var(--radius-full);background:var(--color-surface);color:var(--color-text-secondary);cursor:pointer;font-weight:600}.family-household-choice__actions button.active{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-surface);box-shadow:0 4px 10px color-mix(in srgb,var(--color-primary) 25%,transparent)}.member-avatar-error{display:block;width:180px;margin-top:6px;color:var(--color-danger);font-size:.7rem;line-height:1.35}.family-tab-layout{display:grid;grid-template-columns:minmax(180px,.72fr) minmax(620px,1.28fr);gap:32px;align-items:start}.family-household-kpi{position:sticky;top:74px;overflow:hidden;border:0}.family-household-kpi__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-4);border-bottom:1px solid var(--color-border-light)}.family-household-kpi.is-collapsed .family-household-kpi__header{border-bottom:0}.family-household-kpi__header-actions{display:flex;align-items:center;gap:7px}.family-household-kpi__toggle{display:grid;width:30px;height:30px;place-items:center;border:1px solid var(--color-border);border-radius:var(--radius-full);background:var(--color-surface);color:var(--color-primary);cursor:pointer}.family-household-kpi__toggle span{width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translate(-1px,-1px);transition:transform var(--transition-fast)}.family-household-kpi.is-collapsed .family-household-kpi__toggle span{transform:rotate(-45deg) translate(-1px,-1px)}.family-household-kpi__toggle:focus-visible{outline:0;box-shadow:0 0 0 4px var(--color-primary-bg)}.family-household-kpi__header h3{margin:0;color:var(--color-text);font-family:"Noto Serif TC",serif;font-weight:600}.family-household-kpi__search{display:flex;flex-direction:column;gap:7px;padding:var(--space-4);border-bottom:1px solid var(--color-border-light);background:var(--color-surface)}.family-household-kpi__search label{color:var(--color-text-secondary);font-weight:700}.family-household-kpi__search>div{display:flex;gap:7px}.family-household-kpi__search input{min-width:0;flex:1;padding:8px 11px;border:1px solid var(--color-border);border-radius:var(--radius-full);background:var(--color-surface);color:var(--color-text);font:inherit}.family-household-kpi__search input:focus{outline:0;border-color:var(--color-primary);box-shadow:0 0 0 4px var(--color-primary-bg)}.family-household-kpi__search button{padding:7px 12px;border:0;border-radius:var(--radius-full);background:var(--color-primary);color:var(--color-surface);cursor:pointer;font-weight:700}.family-household-kpi__search button:disabled{cursor:not-allowed;opacity:.55}.family-household-kpi__id{padding:4px 9px;border:1px solid var(--color-primary-light);border-radius:var(--radius-full);background:var(--color-surface);color:var(--color-primary);font-weight:700}.family-household-kpi__metrics{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--color-border-light)}.family-household-kpi__metrics>div{display:flex;min-height:88px;align-items:center;justify-content:center;flex-direction:column;padding:var(--space-3);background:var(--color-surface);text-align:center}.family-household-kpi__metrics>div.is-wide{grid-column:1 / -1;min-height:72px}.family-household-kpi__metrics strong{max-width:100%;overflow-wrap:anywhere;color:var(--color-primary);font-family:var(--font-display)}.family-household-kpi__metrics span{margin-top:var(--space-1);color:var(--color-text-muted)}.family-household-kpi__state{display:grid;min-height:210px;place-items:center;padding:var(--space-5);color:var(--color-text-muted);text-align:center}.family-household-kpi__state.is-error{align-content:center;gap:var(--space-2);color:var(--color-danger)}.family-household-kpi__state button{padding:5px 10px;border:1px solid var(--color-border);border-radius:var(--radius-full);background:var(--color-surface);color:var(--color-primary);cursor:pointer}.family-photo-overview{overflow:hidden}.family-photo-overview .family-household-kpi__header{padding:var(--space-3) var(--space-4)}.family-photo-overview__people{display:grid;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:var(--space-2);max-height:286px;overflow-y:auto;padding:var(--space-3)}.family-photo-person{display:flex;align-items:center;flex-direction:column;gap:var(--space-2);min-width:0;padding:var(--space-2);border:0;border-radius:var(--radius-md);background:transparent;color:var(--color-text);cursor:pointer;text-align:center;transition:background var(--transition-fast),transform var(--transition-fast)}.family-photo-person:hover{background:var(--color-primary-bg);transform:translateY(-2px)}.family-photo-person__avatar{display:grid;width:52px;height:52px;overflow:hidden;flex:0 0 52px;place-items:center;border-radius:var(--radius-full);background:linear-gradient(155deg,var(--color-primary-light),var(--color-primary));color:var(--color-surface);font-size:.86rem;font-weight:700}.family-photo-person__avatar img{width:100%;height:100%;object-fit:cover}.family-photo-person__identity{display:flex;width:100%;min-width:0;flex-direction:column;align-items:center}.family-photo-person__identity strong{overflow:hidden;color:var(--color-text);text-overflow:ellipsis;white-space:nowrap}.family-photo-person__identity small{margin-top:2px;padding:2px 7px;border-radius:var(--radius-full);background:var(--color-primary-bg);color:var(--color-primary);font-weight:700}.family-photo-overview__state{display:grid;min-height:104px;place-items:center;gap:var(--space-2);padding:var(--space-4);color:var(--color-text-muted);text-align:center}.family-photo-overview__state.is-error{color:var(--color-danger)}.family-photo-overview__state button{padding:5px 10px;border:1px solid var(--color-border);border-radius:var(--radius-full);background:var(--color-surface);color:var(--color-primary);cursor:pointer}@media (max-width: 980px){.family-tab-layout{grid-template-columns:1fr}.family-household-kpi{position:static}}.record-limit{font-size:.75rem;color:var(--color-text-muted)}.schema-record-table{overflow:hidden;border:1px solid var(--color-border);border-radius:16px;background:#fff}.schema-record-table th{position:sticky;top:0;z-index:2;height:44px;padding:0 16px;border-bottom:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text-secondary);font-size:.75rem;text-align:left}.schema-record-table td{max-width:240px;height:52px;padding:0 16px;color:var(--color-text);font-size:.8125rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.record-reference,.record-name{display:inline-flex;flex-direction:column;gap:3px}.record-reference small,.record-name small{color:var(--color-text-muted);font-size:.75rem}.record-state{padding:48px 20px;text-align:center;color:var(--color-text-muted)}.record-limit{padding:8px 16px}.record-modal::backdrop{background:color-mix(in srgb,var(--color-text) 50%,transparent)}.record-modal__surface{width:560px;max-width:94vw;max-height:85vh;overflow:auto;padding:24px 28px;border-radius:20px;background:#fff}.record-modal__surface h3{margin:0 0 16px;color:var(--color-text)}.record-modal__grid{display:grid;grid-template-columns:1fr 1fr}.record-modal__grid .full{grid-column:1/-1}.record-modal footer{display:flex;justify-content:flex-end;gap:10px;margin-top:14px;padding-top:14px;border-top:1px solid var(--color-border-light)}.record-modal footer .app-footer__font-controls{margin-right:auto}@media (max-width:700px){.record-modal__grid{grid-template-columns:1fr}}:root{--family-surface: var(--color-bg);--family-surface-soft: color-mix(in srgb, var(--color-warning) 12%, var(--color-surface))}.family-card,.family-household-kpi,.family-photo-overview,.roster-family-workspace .directory-table-card{background:var(--family-surface)}.family-card__header,.family-household-kpi__header{background:var(--family-surface-soft)}.family-card__header h3,.family-household-kpi__header h3{font-size:1.05rem}.family-card__eyebrow{font-size:.76rem}.family-card__count,.family-role-badge,.family-household-kpi__id{font-size:.8rem}.family-photo-person__identity strong{font-size:.95rem}.family-photo-person__identity small{font-size:.8rem}.family-row-actions button,.family-household-choice__actions button{font-size:.82rem}.family-household-choice__candidate{font-size:.88rem}.family-household-choice__candidate small{font-size:.8rem}.family-relation-editor__labels{font-size:.82rem}.family-card__empty,.family-household-kpi__state,.family-photo-overview__state{font-size:.88rem}.family-household-kpi__metrics strong{font-size:1.15rem}.family-household-kpi__metrics span{font-size:.8rem}.family-household-kpi__search label,.family-household-kpi__search button{font-size:.82rem}.family-household-kpi__search input{font-size:.88rem}}@layer app{.design-page{width:100%;max-width:none;margin:0}.page-header-block{min-width:0}.design-card{border:1px solid var(--color-border-light);border-radius:var(--radius-xl);box-shadow:var(--shadow-md)}.design-surface{border-radius:var(--radius-xl);box-shadow:var(--shadow-md)}.design-page .btn-primary{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-surface);box-shadow:0 6px 16px color-mix(in srgb,var(--color-primary) 28%,transparent)}.design-page .btn-primary:hover{border-color:var(--color-primary-hover);background:var(--color-primary-hover);color:var(--color-surface)}.design-page .btn,.design-page .btn-sm{transition:transform var(--transition-fast),box-shadow var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast)}.design-page .btn:active,.design-page .btn-sm:active{transform:scale(.97)}.command-card{margin-bottom:var(--space-4);padding:var(--space-5) var(--space-6)}.command-card h2{margin:0 0 var(--space-4);color:var(--color-text);font-size:1rem;font-weight:600}.command-card>h2{margin:0 0 var(--space-4);color:var(--color-text);font-size:1rem;font-weight:600}.command-page input:not([type=checkbox]):not([type=radio]),.command-page select{min-height:34px;border:1px solid var(--color-border)!important;border-radius:var(--radius-full)!important;background:var(--color-surface)!important;color:var(--color-text)!important;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.command-page input:focus,.command-page select:focus{outline:0;border-color:var(--color-primary)!important;box-shadow:0 0 0 4px var(--color-primary-bg)}.command-page .saved-filter-select{border-radius:var(--radius-full)}.command-page .btn-save-filter{border:1px solid var(--color-border);border-radius:var(--radius-full);background:var(--color-surface);color:var(--color-text-secondary)}.command-page .btn-save-filter:hover{border-color:var(--color-primary-light);background:var(--color-primary-bg);color:var(--color-primary)}.command-page label{color:var(--color-text-secondary)}.command-page input[type=checkbox],.command-page input[type=radio]{accent-color:var(--color-primary)}.command-results{overflow-x:auto!important;border:0!important;border-radius:var(--radius-lg);box-shadow:none}.command-results table{width:100%;border-collapse:collapse}.command-results th{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border-light);background:var(--color-primary-bg);color:var(--color-text-secondary);font-size:.72rem;text-align:left}.command-results td{padding:var(--space-3) var(--space-4)}.command-results{--identity-number-width: 132px}.command-results .directory-table th:nth-child(1),.command-results .directory-table td:nth-child(1){position:sticky;z-index:3;left:0;width:var(--identity-number-width);min-width:var(--identity-number-width);background:var(--color-surface)}.command-results .directory-table th:nth-child(2),.command-results .directory-table td:nth-child(2){position:sticky;z-index:3;left:var(--identity-number-width);min-width:160px;background:var(--color-surface);box-shadow:1px 0 0 var(--color-border-light)}.command-results .directory-table th:nth-child(-n+2){z-index:4;background:var(--color-primary-bg)}.command-results .directory-table tbody tr:hover td:nth-child(-n+2){background:var(--color-row-hover)}.add-member-success{display:flex;align-items:center;gap:var(--space-3)}.add-member-success__check{display:inline-grid;width:28px;height:28px;border-radius:50%;background:var(--color-success);color:var(--color-surface);font-size:1rem;font-weight:800;line-height:1;place-items:center;animation:add-member-success-check .62s cubic-bezier(.2,.9,.25,1) both}@keyframes add-member-success-check{to{filter:blur(0);opacity:1;transform:rotate(0) scale(1)}}.add-member-shell{display:flex;flex-direction:column;gap:var(--space-6)}.add-member-content{display:flex;flex-direction:column;gap:var(--space-4);width:100%;min-width:0;margin:0}.add-member-hero-card{border:1px solid var(--color-border-light);border-radius:26px;background:#ffffffeb;box-shadow:0 18px 40px color-mix(in srgb,var(--color-text) 6%,transparent)}.add-member-hero-card{display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);padding:var(--space-5)}.add-member-hero-card__identity{display:flex;flex:1 1 300px;align-items:center;gap:var(--space-4)}.add-member-hero-card .form-identity{display:flex;flex-direction:column;gap:8px}.add-member-hero-card .form-identity p{color:var(--color-text-secondary);line-height:1.7;max-width:48ch}.add-member-panel-stack{display:flex;flex-direction:column;gap:var(--space-4)}.add-member-panel{border:1px solid var(--color-border-light);border-radius:24px;background:#fffffff0;box-shadow:0 12px 26px color-mix(in srgb,var(--color-text) 5%,transparent);overflow:hidden;transform-origin:top center;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}.add-member-panel[open]{border-color:color-mix(in srgb,var(--color-primary) 12%,var(--color-border-light))}.add-member-panel[open] .add-member-panel__body{animation:add-member-panel-scale-in .22s ease-out}.add-member-panel__summary{list-style:none;display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);padding:var(--space-5);cursor:pointer;background:linear-gradient(180deg,color-mix(in srgb,var(--color-surface) 94%,transparent),#fffffff0)}.add-member-panel__summary::-webkit-details-marker{display:none}.add-member-panel__summary h3{color:var(--color-text);font-family:var(--font-display);font-size:1rem}.add-member-panel__summary p{margin-top:6px;color:var(--color-text-secondary);font-size:.82rem;line-height:1.65}.add-member-panel__body{display:flex;flex-direction:column;gap:var(--space-4);padding:0 var(--space-5) var(--space-5)}.add-member-panel__body--stack{display:flex;flex-direction:column;gap:var(--space-3)}.add-member-panel__actions{display:flex;justify-content:flex-end;align-items:center;margin-top:var(--space-2)}.add-member-panel__actions .btn{min-width:154px}.add-member-panel__ghost-action{align-self:flex-start;background:var(--color-surface);border:1px dashed var(--color-border);border-radius:14px;padding:10px 16px;cursor:pointer;font-size:.85rem;color:var(--color-text)}.add-member-panel__ghost-action:hover{border-color:var(--color-primary);color:var(--color-primary)}.system-paths-page{max-width:none}.system-paths-actions{border-top-color:var(--color-border-light)}.system-path-field>small,.system-paths-actions p{color:var(--color-text-muted)}.system-path-field>span{color:var(--color-text)}.system-path-field>input{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text)}.system-path-field>input:focus{outline:0}@media (max-width: 760px){.command-card{padding:var(--space-4)}.add-member-hero-card,.add-member-panel__summary,.add-member-panel__body{padding-left:var(--space-4);padding-right:var(--space-4)}.add-member-hero-card__identity{flex-direction:column;align-items:flex-start}}@media (max-width: 980px){.add-member-hero-card{flex-direction:column;align-items:stretch}}.directory-page{min-width:0}.directory-header{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-5);margin-bottom:var(--space-2)}.directory-heading{display:flex;flex-direction:column;gap:var(--space-1)}.directory-eyebrow{font-weight:700;text-transform:uppercase}.directory-title{display:flex;align-items:baseline;gap:var(--space-3);margin:0;color:var(--color-text);font-weight:600;letter-spacing:.02em}.directory-title small{color:var(--color-text-muted);font-family:var(--font-sans);font-size:.76rem;font-weight:500}.directory-toolbar{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.directory-count{padding:6px var(--space-3);border:1px solid var(--color-primary-light);border-radius:var(--radius-full);background:var(--color-primary-bg);color:var(--color-primary);font-size:.72rem;font-weight:600}.bead-divider{position:relative;display:grid;place-items:center;height:20px;margin:2px 0 var(--space-2)}.bead-divider__line{position:absolute;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--color-border),var(--color-primary-light),var(--color-border),transparent)}.bead-divider__beads{position:relative;display:flex;align-items:center;gap:7px;padding:0 var(--space-3);background:var(--color-bg)}.bead-divider__bead{display:block;width:7px;height:7px;border:1px solid var(--color-primary);border-radius:var(--radius-full);background:var(--color-primary-light)}.bead-divider__bead.is-primary{width:9px;height:9px;background:var(--color-primary)}.directory-search{position:relative;width:250px;transition:width var(--transition-normal)}.directory-search:focus-within{width:300px}.directory-search__icon{position:absolute;z-index:1;top:50%;left:var(--space-3);width:16px;height:16px;transform:translateY(-50%);fill:none;stroke:var(--color-text-muted);stroke-width:1.8;pointer-events:none;transition:stroke var(--transition-fast)}.directory-search:focus-within .directory-search__icon{stroke:var(--color-primary)}.directory-search__input{width:100%;padding:9px var(--space-4) 9px 36px;border:1px solid var(--color-border);font-size:.8rem;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.directory-search__input:focus{border-color:var(--color-primary);box-shadow:0 0 0 4px var(--color-primary-bg)}.directory-suggestions{position:absolute;z-index:100;top:calc(100% + var(--space-1));left:0;right:0;max-height:220px;overflow-y:auto;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-lg)}.directory-suggestions button{display:flex;width:100%;align-items:center;justify-content:space-between;gap:var(--space-2);padding:9px var(--space-3);border:0;border-bottom:1px solid var(--color-border-light);background:transparent;color:var(--color-text);cursor:pointer;text-align:left}.directory-suggestions button:hover{background:var(--color-row-hover)}.directory-suggestions small{color:var(--color-text-muted)}@keyframes add-member-panel-scale-in{0%{opacity:0;transform:scale(.985)}to{opacity:1;transform:scale(1)}}.directory-table-card{overflow:hidden;background:var(--color-surface)}.directory-table-scroll-wrap{position:relative}.directory-table-scroll{max-height:calc(100vh - 270px);overflow:auto}.directory-table-scroll-fade{position:absolute;top:0;bottom:0;width:32px;pointer-events:none;z-index:6}.directory-table-scroll-fade.is-right{right:0;background:linear-gradient(to right,transparent,color-mix(in srgb,var(--color-text) 14%,transparent))}.directory-table-scroll-fade.is-left{left:0;background:linear-gradient(to left,transparent,color-mix(in srgb,var(--color-text) 14%,transparent))}.directory-table{width:100%;border-collapse:collapse}.directory-table th{position:sticky;z-index:2;top:0;padding:0 var(--space-4);border-bottom:2px solid var(--color-border);color:var(--color-text)!important;font-family:var(--font-display);font-size:calc(16px * var(--app-font-scale, 1));font-weight:800;letter-spacing:.04em;text-align:left;white-space:nowrap;box-shadow:0 1px #00000008}.directory-table td{padding:0 var(--space-4);color:var(--color-text)}.directory-table tbody tr{height:58px;transition:background var(--transition-fast)}.directory-table tbody tr:nth-child(2n){background:var(--color-row-alt, rgba(0, 0, 0, .014))}.directory-table-row{height:58px;cursor:pointer;transition:background var(--transition-fast),box-shadow var(--transition-fast)}.directory-table .directory-table-row:hover{box-shadow:inset 3px 0 0 var(--color-primary)}.directory-person-cell,.directory-data-cell{padding:0 var(--space-4);border-bottom:1px solid var(--color-border-light)}.directory-person-cell{min-width:220px}.directory-data-cell{max-width:210px;overflow:hidden;color:var(--color-text);font-size:calc(16px * var(--app-font-scale, 1));text-overflow:ellipsis;white-space:nowrap}.directory-person{display:flex;align-items:center}.directory-avatar{position:relative;display:grid;width:42px;height:42px;flex:0 0 42px;place-items:center;overflow:hidden;border-radius:var(--radius-full);background:linear-gradient(155deg,var(--color-primary-light),var(--color-primary));color:var(--color-surface);font-weight:700;box-shadow:0 0 0 2px var(--color-surface),0 0 0 3px var(--color-border-light);transition:box-shadow var(--transition-fast)}.directory-table-row:hover .directory-avatar{box-shadow:0 0 0 2px var(--color-surface),0 0 0 3px var(--color-primary-light)}.directory-avatar img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.directory-person__copy{display:flex;min-width:0;flex-direction:column;gap:2px}.directory-person__copy strong{overflow:hidden;color:var(--color-primary);font-size:calc(16px * var(--app-font-scale, 1));text-overflow:ellipsis;white-space:nowrap}.directory-person__copy small{color:var(--color-text-muted);font-size:.72rem}.directory-status-badge{display:inline-flex;align-items:center;min-height:24px;padding:3px 9px;border-radius:var(--radius-full);font-size:calc(16px * var(--app-font-scale, 1));font-weight:600}.directory-status-badge.is-negative{background:var(--color-border-light);color:var(--color-text-secondary)}.directory-table-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) var(--space-4) var(--space-4)}.schema-record-table.directory-table-card{border:0;border-radius:22px}.schema-record-table .record-reference,.schema-record-table .record-name{gap:2px}.schema-record-table .record-reference strong,.schema-record-table .record-name strong{color:var(--color-primary)}.schema-record-table .record-reference small,.schema-record-table .record-name small{color:var(--color-text-muted)}.roster-table-card .record-reference,.roster-table-card .record-name{gap:2px}.roster-table-card .record-reference strong,.roster-table-card .record-name strong{color:var(--color-primary)}.roster-table-card .record-reference small,.roster-table-card .record-name small{color:var(--color-text-muted)}.design-modal-surface::backdrop{background:color-mix(in srgb,var(--color-text) 38%,transparent)}.design-modal-surface{padding:0;color:inherit;margin:auto;width:min(620px,94vw);max-width:calc(100vw - var(--space-5) * 2);max-height:min(88vh,calc(100vh - var(--space-5) * 2));overflow:auto;border:1px solid var(--color-border-light);border-radius:var(--radius-xl);background:var(--color-surface);box-shadow:var(--shadow-xl)}.design-modal-surface.is-inline{position:static;display:block;max-width:none;max-height:none;margin:0;border:0;background:transparent;box-shadow:none}.design-modal-surface h3{color:var(--color-text);font-family:var(--font-display);font-weight:600}.design-modal-surface>h3:first-child{margin-top:0}.design-modal-surface input:not([type=checkbox]):not([type=radio]),.design-modal-surface select,.design-modal-surface textarea{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.design-modal-surface input:focus,.design-modal-surface select:focus,.design-modal-surface textarea:focus{outline:0;border-color:var(--color-primary);box-shadow:0 0 0 4px var(--color-primary-bg)}.design-modal-surface .bead-divider{margin-bottom:var(--space-4)}.design-modal-surface .bead-divider__beads{background:var(--color-surface)}.record-modal__surface.design-modal-surface{padding:var(--space-6);border-radius:var(--radius-xl)}.record-modal__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.record-modal__header h3{margin:0}.record-modal__grid{gap:var(--space-4) var(--space-5)}.record-modal footer{border-top-color:var(--color-border-light)}.filter-editor-modal{padding:var(--space-6)}.filter-editor-modal>h3{margin:0}.filter-editor-modal>label{display:block;margin:var(--space-3) 0 var(--space-2);color:var(--color-text);font-size:.8rem;font-weight:600}.filter-editor-modal>input{width:100%;padding:9px var(--space-3)}.filter-editor-modal__hint{color:var(--color-text-muted);font-weight:400}.filter-editor-modal__error{margin:var(--space-3) 0 0;color:var(--color-danger);font-size:.78rem}.filter-editor-modal .json-editor-wrap{overflow:hidden;border:1px solid var(--color-border-light);border-radius:var(--radius-lg);background:var(--color-primary-bg)}.filter-editor-modal .json-editor-header{border-bottom:1px solid var(--color-border-light);background:var(--color-primary-bg)}.filter-editor-modal textarea{min-height:280px;border:0;border-radius:0}.splash-overlay{position:fixed;z-index:2000;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:color-mix(in srgb,var(--color-text) 30%,transparent);animation:splash-fade-in .15s ease}.splash-card{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);min-width:220px;padding:var(--space-6) var(--space-8);border-radius:var(--radius-xl);background:var(--color-surface);box-shadow:var(--shadow-xl);text-align:center;animation:splash-pop-in .22s cubic-bezier(.34,1.56,.64,1)}.splash-card__icon{display:grid;place-items:center;width:56px;height:56px;border-radius:var(--radius-full);background:color-mix(in srgb,var(--color-success) 20%,var(--color-surface));color:var(--color-success);animation:splash-success-check .62s cubic-bezier(.2,.9,.25,1) both}.splash-card--error .splash-card__icon{background:color-mix(in srgb,var(--color-danger) 20%,var(--color-surface));color:var(--color-danger);animation:none}.splash-card__message{margin:0;color:var(--color-text);font-family:var(--font-display);font-size:1rem;font-weight:600}.splash-card__subtitle{margin:0;max-width:260px;overflow-wrap:anywhere;color:var(--color-text-muted);font-size:.76rem}@keyframes splash-fade-in{0%{opacity:0}to{opacity:1}}@keyframes splash-pop-in{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}@keyframes splash-success-check{to{filter:blur(0);opacity:1;transform:rotate(0) scale(1)}}@media (prefers-reduced-motion: reduce){.splash-overlay,.splash-card{animation:none}}.directory-table th,.directory-table td,.directory-person-cell,.directory-data-cell{padding-inline:10px}.directory-person{gap:8px}.command-results .query-results-reference-button{width:100%;padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.command-results .query-results-reference-button:hover strong{color:var(--color-primary);text-decoration:underline}}@layer app{.member-edit-modal.design-modal{background:radial-gradient(circle at 1px 1px,color-mix(in srgb,var(--color-primary) 10%,transparent) 1px,transparent 0) 0 0/22px 22px,var(--color-bg);color:var(--color-text)}.member-edit-modal__body>.bead-divider{max-width:1180px;margin-right:auto;margin-left:auto}.member-edit-modal__profile{margin-bottom:var(--space-5);padding:var(--space-5);border:1px solid var(--color-border-light);border-radius:var(--radius-xl);background:var(--color-surface);box-shadow:var(--shadow-md)}.member-edit-modal__profile .member-profile-avatar{border:4px solid var(--color-surface);background:linear-gradient(155deg,var(--color-primary-light),var(--color-primary));color:var(--color-surface);box-shadow:var(--shadow-md)}.member-edit-modal__content .form-section-card{overflow:hidden;border-color:var(--color-border-light);border-radius:var(--radius-xl);box-shadow:var(--shadow-md)}.member-edit-modal__content .form-section-card-header{padding:var(--space-4) var(--space-5);border-bottom-color:var(--color-border-light);background:var(--color-primary-bg)}.member-edit-modal .form-input:focus{outline:0;border-color:var(--color-primary);box-shadow:0 0 0 4px var(--color-primary-bg)}.member-edit-modal .family-card{border-color:var(--color-border-light);border-radius:var(--radius-xl);box-shadow:var(--shadow-md)}.member-edit-modal__footer{border-top-color:var(--color-border-light);background:color-mix(in srgb,var(--color-surface) 94%,transparent);box-shadow:0 -8px 24px color-mix(in srgb,var(--color-text) 7%,transparent)}.member-edit-modal__danger-zone{display:flex;align-items:center;gap:var(--space-2);margin-right:auto;color:var(--color-danger);font-size:var(--font-size-sm)}.member-edit-modal__delete-trigger{border:1px solid color-mix(in srgb,var(--color-danger) 45%,var(--color-border));background:var(--color-surface);color:var(--color-danger)}.member-edit-modal__delete-trigger:hover{background:color-mix(in srgb,var(--color-danger) 10%,var(--color-surface))}.member-edit-modal__delete-confirm{background:var(--color-danger);color:var(--color-surface)}.tabs-sliding{position:relative;isolation:isolate}.tabs-sliding__indicator{position:absolute;top:0;left:0;display:block;z-index:0;box-sizing:border-box;width:var(--tabs-slide-width);height:var(--tabs-slide-height);border-radius:var(--tabs-slide-radius);pointer-events:none;opacity:var(--tabs-slide-opacity);transform:translate3d(var(--tabs-slide-x),var(--tabs-slide-y),0);transition:transform .24s cubic-bezier(.2,.8,.2,1),width .24s cubic-bezier(.2,.8,.2,1),height .24s cubic-bezier(.2,.8,.2,1),opacity .12s ease}.tabs-sliding>button{position:relative;z-index:1}.schema-editor-tabs.tabs-sliding .tabs-sliding__indicator{background:var(--color-primary-light);box-shadow:inset 0 -2px #0000003d}.candidate-create-error{margin-top:var(--space-2);color:var(--color-danger);font-size:var(--font-size-xs)}@media (max-width: 760px){.directory-header{align-items:flex-start;flex-direction:column}.directory-toolbar,.directory-search{width:100%}}.roster-save-filter-modal{width:min(460px,92vw)}.roster-save-filter-modal>h3{margin:0}}@layer app{body{background-color:var(--color-canvas);background-image:radial-gradient(color-mix(in srgb,var(--color-primary) 12%,transparent) .7px,transparent .7px);background-size:22px 22px;color:var(--color-text)}.auth-screen{background-color:var(--color-bg);background-image:var(--page-canvas-pattern);background-size:var(--page-canvas-pattern-size)}button,input,select,textarea{font-family:var(--font-sans)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--color-primary-light);outline-offset:2px}.sidebar{background:linear-gradient(180deg,var(--color-primary) 0%,var(--color-sidebar-bg) 100%);box-shadow:8px 0 30px color-mix(in srgb,var(--color-primary-hover) 8%,transparent)}.sidebar-header{padding-inline:14px 10px}.sidebar-logo{width:38px;height:38px;border:1px solid rgba(255,255,255,.42);border-radius:50%;background:#ffffff24;color:#fff;box-shadow:inset 0 0 0 3px #ffffff14}.sidebar-title{font-family:var(--font-display);font-size:1rem;font-weight:600;letter-spacing:.04em}.sidebar-user{margin:10px 10px 2px;padding:9px 10px;border:1px solid rgba(255,255,255,.1);border-radius:12px;background:#ffffff12}.sidebar-user-avatar{background:#ffffffe6;color:var(--color-sidebar-bg)}.sidebar-nav{padding:12px 10px}.nav-item{min-height:40px;padding-inline:14px;border:0;border-radius:var(--radius-full);color:#ffffffd9;font-size:.86rem;font-weight:500}.nav-item:after,.nav-item.active:before{display:none}.nav-item:hover{transform:none;border-color:transparent;background:var(--color-sidebar-hover)}.nav-item.active{border-color:transparent;background:var(--color-sidebar-active);box-shadow:none;font-weight:600}.sidebar.collapsed .sidebar-user{margin-inline:9px;padding-inline:0;justify-content:center}.sidebar.collapsed .nav-item{justify-content:center;padding-inline:0}.app-header{position:relative;z-index:5;padding-inline:clamp(20px,2vw,32px);border-bottom-color:var(--color-border);background:color-mix(in srgb,var(--color-surface) 92%,transparent);box-shadow:0 1px 12px color-mix(in srgb,var(--color-text) 4%,transparent)}.app-header-breadcrumb{gap:9px;font-size:.8rem}.app-header-breadcrumb>svg{color:var(--color-primary-hover)}.app-header-breadcrumb .current{font-weight:600}.header-btn{width:40px;height:40px;border:1px solid transparent;border-radius:12px}.header-btn:hover{border-color:var(--color-border);background:var(--color-primary-bg);color:var(--color-primary-hover)}.header-account{display:flex;min-width:0;align-items:center;gap:9px;padding:4px 8px 4px 4px;border-radius:14px;color:var(--color-text-muted)}.header-avatar{width:36px;height:36px;background:linear-gradient(145deg,var(--color-primary-light),var(--color-primary-hover));font-size:.76rem}.header-account__copy{display:flex;min-width:0;flex-direction:column}.header-account__copy strong{max-width:150px;overflow:hidden;color:var(--color-text);font-size:.78rem;font-weight:600;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.header-account__copy span{color:var(--color-text-muted);font-size:.66rem;line-height:1.25;text-transform:capitalize}.content-area{isolation:isolate;padding:clamp(20px,2.25vw,32px);background-color:var(--color-canvas);background-image:radial-gradient(color-mix(in srgb,var(--color-primary) 12%,transparent) .7px,transparent .7px);background-size:22px 22px}.religious-watermark{position:absolute;z-index:0;top:clamp(24px,6vh,72px);right:0;width:min(34vw,520px);max-height:calc(100% - 48px);object-fit:contain;object-position:top right;opacity:.65;mix-blend-mode:multiply;filter:var(--religious-art-filter);pointer-events:none;-webkit-user-select:none;user-select:none}.content-area>.religious-watermark{position:absolute;z-index:0;animation:none}.content-area--roster .religious-watermark{opacity:.9}.content-area--search .religious-watermark{opacity:.65}.content-area--output .religious-watermark{opacity:.72}.content-area--addmember .religious-watermark,.content-area--actionlog .religious-watermark{opacity:.9}.content-area--system .religious-watermark,.content-area--useradmin .religious-watermark{opacity:.42}.content-area>*{position:relative;z-index:1;animation:brand-page-enter var(--motion-slow) var(--ease-standard) both}.design-card,.design-surface,.panel{background:color-mix(in srgb,var(--color-surface) 94%,transparent)}.directory-title,.command-card h2{font-family:var(--font-display)}.directory-title{font-size:clamp(1.7rem,2.2vw,2rem)}.directory-eyebrow{color:var(--color-primary-light);font-size:.6875rem;letter-spacing:.18em}.btn,.btn-primary,.btn-secondary,.btn-danger{min-height:32px;height:32px;padding:0 18px;border-radius:12px;font-weight:500}.btn{background:#ffffffd1;color:var(--color-primary-hover)}.btn:hover{border-color:var(--color-primary-light);background:var(--color-primary-bg);color:var(--color-primary-hover)}.btn-primary{border-color:var(--color-primary);background:var(--color-primary);color:#fff}.btn-primary:hover{border-color:var(--color-primary-hover);background:var(--color-primary-hover);color:#fff}.btn-danger{border-color:var(--color-danger)}.btn-secondary,.directory-ghost-button{border-color:var(--color-primary-light);background:var(--color-surface);color:var(--color-primary-hover)}.btn-secondary:hover,.directory-ghost-button:hover{border-color:var(--color-primary-light);background:var(--color-primary-bg);color:var(--color-primary-hover)}.btn-sm{min-height:28px;height:28px;padding-inline:12px;border-radius:10px}.btn-icon{width:32px;padding:0}.form-input,.auth-input,.directory-search__input{min-height:44px;border-radius:12px;background:#ffffffe0;color:var(--color-text)}.form-input:focus,.auth-input:focus,.directory-search__input:focus{outline:0}.directory-table-card{border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}th{height:44px;border-bottom-color:var(--color-border);background:var(--color-primary-bg);color:var(--color-text-secondary);text-transform:none}.directory-table th{height:44px;border-bottom-color:var(--color-border);background:var(--color-primary-bg);text-transform:none}th:not(:last-child):after{display:none}td,.directory-table td{border-bottom-color:var(--color-border-light);font-size:.875rem}tbody tr:hover,.directory-table .directory-table-row:hover{background:color-mix(in srgb,var(--color-primary) 8%,transparent)!important}.badge-success,.directory-status-badge.is-positive{background:color-mix(in srgb,var(--color-success) 15%,#fff);color:color-mix(in srgb,var(--color-success) 70%,#000)}.badge-warning{background:color-mix(in srgb,var(--color-warning) 20%,#fff);color:color-mix(in srgb,var(--color-warning) 70%,#000)}.badge-danger,.badge-info,.directory-status-badge.is-progress{background:var(--color-danger-light);color:var(--color-danger)}.btn-danger:hover{background:color-mix(in srgb,var(--color-danger) 86%,#000);border-color:color-mix(in srgb,var(--color-danger) 86%,#000)}.record-name strong{color:var(--color-primary-hover)}.member-edit-modal__footer,.form-section-card,.form-input{border-color:var(--color-border)}.system-path-field>input:focus,.form-input:focus{border-color:var(--color-primary-light);outline-color:var(--color-primary-light);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 13%,transparent)}.member-profile-avatar,.member-reference-avatar,.badge-admin{background:var(--color-primary-bg);color:var(--color-primary-hover)}.candidate-dropdown button{background:var(--color-surface)!important;border-color:var(--color-border-light)!important;color:var(--color-text)!important}.candidate-dropdown button:hover,.candidate-dropdown button:focus-visible{background:var(--color-row-selected)!important;color:var(--color-primary-hover)!important}.design-modal-surface .btn-primary,.design-modal-surface button.btn-primary{border-color:var(--color-primary)!important;background:var(--color-primary)!important;color:#fff!important;box-shadow:0 4px 10px color-mix(in srgb,var(--color-primary) 25%,transparent)!important}.design-modal-surface .btn-primary:hover,.design-modal-surface button.btn-primary:hover{border-color:var(--color-primary-hover)!important;background:var(--color-primary-hover)!important}.design-modal-surface .btn-secondary,.design-modal-surface .directory-ghost-button{border-color:var(--color-primary-light)!important;background:var(--color-surface)!important;color:var(--color-primary-hover)!important}.design-modal-surface .btn-secondary:hover,.design-modal-surface .directory-ghost-button:hover{background:var(--color-primary-bg)!important}@keyframes brand-page-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 760px){:root{--sidebar-width: 216px}.content-area{padding:16px}.header-account__copy,.header-account>svg{display:none}.directory-title{font-size:1.65rem}.religious-watermark{right:-12vw;width:56vw;opacity:.38}}@media (prefers-reduced-motion: reduce){.content-area>*{animation:none}}.content-area--roster .religious-watermark{top:18px;right:8px;width:min(32vw,470px)}.content-area--addmember .religious-watermark{top:54px;right:-1vw;width:min(46vw,680px)}.content-area--search .religious-watermark,.content-area--actionlog .religious-watermark{top:48px;right:1vw;width:min(32vw,480px)}.content-area--output .religious-watermark,.content-area--visitmanagement .religious-watermark{top:50px;right:1vw;width:min(34vw,520px)}.content-area--family .religious-watermark,.content-area--task .religious-watermark{top:58px;right:-1vw;width:min(39vw,600px)}.content-area--visits .religious-watermark{top:72px;right:0;width:min(44vw,680px)}.content-area--system .religious-watermark,.content-area--trash .religious-watermark{top:52px;right:1vw;width:min(34vw,520px)}.content-area--useradmin .religious-watermark{top:48px;right:-1vw;width:min(43vw,650px)}@media (max-width: 760px){.content-area .religious-watermark{top:72px;right:-12vw;width:68vw}}@media (max-width: 760px){.content-area>.religious-watermark{top:0;right:0;bottom:0;left:0;width:100%;height:100%}}.content-area>.religious-watermark{inset:0 0 0 auto;width:50%;height:100%;max-height:none;object-fit:cover;object-position:top right;opacity:1}}@layer app{.ui-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:38px;padding:0 var(--space-4);border:1px solid transparent;border-radius:var(--radius-full);font:var(--text-body);font-weight:600;cursor:pointer;white-space:nowrap;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.ui-btn:disabled{opacity:.5;cursor:not-allowed}.ui-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.ui-btn__icon{display:inline-flex}.ui-btn--primary{background:var(--color-primary);color:#fff}.ui-btn--primary:hover:not(:disabled){background:var(--color-primary-hover)}.ui-btn--secondary{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text)}.ui-btn--secondary:hover:not(:disabled){background:var(--color-primary-bg);border-color:var(--color-primary-light)}.ui-btn--ghost{background:transparent;color:var(--color-text-secondary)}.ui-btn--ghost:hover:not(:disabled){background:var(--color-primary-bg);color:var(--color-text)}.ui-btn--danger{background:var(--color-danger);color:#fff}.ui-btn--danger:hover:not(:disabled){filter:brightness(.94)}.design-modal-surface.confirm-dialog{width:min(460px,calc(100vw - var(--space-8)));padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-floating);color:var(--color-text)}.design-modal-surface.confirm-dialog::backdrop{background:color-mix(in srgb,var(--color-text) 38%,transparent)}.confirm-dialog__head{display:flex;align-items:center;gap:var(--space-2);color:var(--color-danger);margin-bottom:var(--space-4)}.confirm-dialog__head h2{font:var(--text-subtitle);margin:0}.confirm-dialog__body{font:var(--text-body);color:var(--color-text-secondary)}.confirm-dialog__body p{margin:0 0 var(--space-3)}.confirm-dialog__warning{color:var(--color-danger);font-weight:600}.confirm-dialog__safe{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;padding:var(--space-3);background:var(--color-primary-bg);border-radius:var(--radius-md)}.confirm-dialog__typing{display:flex;flex-direction:column;gap:var(--space-2)}.confirm-dialog__typing>span{font:var(--text-caption);font-weight:600;color:var(--color-text)}.confirm-dialog__actions{display:flex;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-5)}}
