.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)}.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, #d64545)}.custom-table-actions{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}@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+4ECA,U+4ECB,U+4ECD,U+4ED6,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+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+503C,U+5047,U+505A,U+505C,U+5065,U+5074,U+5076,U+5099,U+50B3,U+50C5,U+50CF,U+5100,U+512A,U+5132,U+5141,U+5143,U+5145,U+5148,U+5149,U+514D,U+5152,U+5165,U+5167,U+5168,U+5169,U+516B,U+516C,U+516D,U+5171,U+5176,U+5177,U+518A,U+518D,U+5197,U+51CD,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+523B,U+5247,U+524D,U+525B,U+5269,U+526A,U+526F,U+5275,U+529F,U+52A0,U+52D5,U+52D9,U+52FE,U+52FF,U+5305,U+5316,U+532F,U+5340,U+5341,U+5348,U+534A,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+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+544A,U+547C,U+547D,U+548C,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+570D,U+5713,U+5716,U+5728,U+5730,U+573E,U+5740,U+5747,U+5750,U+5782,U+5783,U+578B,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+58D3,U+58DE,U+58EB,U+58FD,U+5916,U+591A,U+5927,U+5929,U+592A,U+5931,U+593E,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+5B83,U+5B89,U+5B8C,U+5B9A,U+5BA3,U+5BB6,U+5BB9,U+5BC6,U+5BE6,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+5C45,U+5C55,U+5C5C,U+5C64,U+5C6C,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+5EAB,U+5EAD,U+5EB7,U+5EE0,U+5EF6,U+5EFA,U+5F0F,U+5F15,U+5F31,U+5F35,U+5F37,U+5F48,U+5F4C,U+5F62,U+5F69,U+5F71,U+5F80,U+5F85,U+5F88,U+5F8B,U+5F8C,U+5F91,U+5F97,U+5F9E,U+5FA9,U+5FBD,U+5FC3,U+5FC5,U+5FD7,U+5FD9,U+5FEB,U+5FF5,U+600E,U+6025,U+6027,U+6062,U+606F,U+60A8,U+60C5,U+60D1,U+60F3,U+610F,U+611F,U+614B,U+6155,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+62BD,U+62C6,U+62C9,U+62D2,U+62D6,U+62FF,U+6301,U+6307,U+6309,U+6311,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+63DB,U+63F4,U+641C,U+6436,U+6458,U+6490,U+6492,U+64A4,U+64C1,U+64C7,U+64CA,U+64CB,U+64CD,U+64CE,U+64D4,U+64DA,U+64E0,U+6514,U+6524,U+652F,U+6536,U+6539,U+653E,U+653F,U+6548,U+654F,U+6557,U+6559,U+6563,U+6574,U+6578,U+6587,U+6599,U+65B0,U+65B7,U+65B9,U+65BC,U+65C1,U+65CF,U+65E2,U+65E5,U+65E8,U+65E9,U+660E,U+6613,U+662F,U+6642,U+665A,U+666F,U+667A,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+671F,U+672A,U+672C,U+675F,U+6771,U+677F,U+6790,U+6797,U+679C,U+67B6,U+67D0,U+67D3,U+67E5,U+6838,U+683C,U+6846,U+6848,U+684C,U+6876,U+689D,U+68C4,U+695A,U+696D,U+6975,U+6982,U+69CB,U+6A02,U+6A19,U+6A21,U+6A23,U+6A39,U+6A5F,U+6A6B,U+6A94,U+6AA2,U+6B04,U+6B0A,U+6B21,U+6B62,U+6B63,U+6B64,U+6B65,U+6B72,U+6B77,U+6B7B,U+6B7F,U+6B98,U+6BB5,U+6BBC,U+6BCD,U+6BCF,U+6BD4,U+6C38,U+6C42,U+6C7A,U+6C92,U+6CBB,U+6CBF,U+6CC1,U+6CD5,U+6CE8,U+6D17,U+6D3B,U+6D41,U+6D88,U+6DB5,U+6DC6,U+6DE1,U+6DF7,U+6DFA,U+6E05,U+6E2C,U+6E32,U+6E90,U+6E96,U+6ED1,U+6EFE,U+6F02,U+6F0F,U+6F14,U+6FFE,U+700F,U+7070,U+70B8,U+70BA,U+7121,U+7126,U+7136,U+7167,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+7559,U+756B,U+7570,U+7576,U+758A,U+7626,U+7642,U+767B,U+767C,U+767D,U+7684,U+7686,U+76E1,U+76E4,U+76EE,U+76F4,U+76F8,U+7701,U+770B,U+771F,U+773C,U+775B,U+77E5,U+77ED,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+7A69,U+7A7A,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+7BB1,U+7BC0,U+7BC4,U+7BE9,U+7C21,U+7C3F,U+7C4D,U+7C64,U+7C89,U+7C97,U+7CB9,U+7CBE,U+7CFB,U+7D00,U+7D04,U+7D05,U+7D14,U+7D1A,U+7D20,U+7D30,U+7D42,U+7D44,U+7D50,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+7DE8,U+7DE9,U+7E23,U+7E2E,U+7E3D,U+7E6B,U+7E7C,U+7E8C,U+7F3A,U+7F6E,U+7F8E,U+7FA4,U+7FA9,U+7FFB,U+8003,U+8005,U+800C,U+8056,U+805A,U+806F,U+8077,U+807D,U+80CC,U+80FD,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+842C,U+843D,U+8449,U+8457,U+846C,U+84CB,U+85A6,U+85CD,U+85CF,U+8655,U+865F,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+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+8CAC,U+8CBB,U+8CBC,U+8CC7,U+8CEA,U+8CF4,U+8D0F,U+8D70,U+8D77,U+8D85,U+8D8A,U+8DB3,U+8DD1,U+8DDD,U+8DDF,U+8DEF,U+8DF3,U+8E29,U+8E64,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+8FD1,U+8FD4,U+8FF0,U+8FF4,U+8FFD,U+9000,U+9001,U+900F,U+9010,U+9017,U+9019,U+901A,U+901F,U+9020,U+9023,U+9031,U+9032,U+9047,U+904E,U+9053,U+9054,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+914D,U+9192,U+91AB,U+91CD,U+91CF,U+91D1,U+91DD,U+9215,U+92B7,U+9304,U+932F,U+9375,U+9418,U+9438,U+9470,U+9577,U+9580,U+9583,U+9589,U+958B,U+9593,U+95B1,U+95DC,U+964D,U+9650,U+9662,U+9663,U+9664,U+9670,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+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+982D,U+983B,U+9846,U+984C,U+984D,U+984F,U+985B,U+985E,U+986F,U+98A8,U+98FD,U+98FE,U+9918,U+9996,U+99D0,U+9A57,U+9A5F,U+9AD4,U+9AD8,U+9EBC,U+9ED1,U+9ED8,U+9EDE,U+9F20,U+9F4A,U+9F61}@font-face{font-family:JF Open Huninn;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/jf-openhuninn-1.1.ttf) format("truetype")}: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-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-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;--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;--panel-width: 420px;--table-row-height: 56px;--member-form-module-max-width: 1480px;--settings-nav-width: 240px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font:var(--text-body);color:var(--color-text);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}*,button,input,select,textarea{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;background:var(--color-sidebar-bg);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{width:28px;height:28px;border-radius:var(--radius-md);background:var(--color-primary);display:flex;align-items:center;justify-content:center;color:#fff;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{padding:var(--space-3) var(--space-4);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);background:var(--color-primary-light);display:flex;align-items:center;justify-content:center;font:var(--text-small);font-weight:600;color:var(--color-primary);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;padding:var(--space-3) var(--space-2);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%;min-height:42px;padding:0 14px;border:1px solid transparent;background:transparent;cursor:pointer;border-radius:14px;font:var(--text-body);font-weight:500;color:#ffffffd1;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,#7ab6ff29,#7ab6ff00);opacity:0;transition:opacity var(--transition-fast)}.nav-item:hover{transform:translate(2px);background:#ffffff0f;border-color:#ffffff14;color:#fff}.nav-item:hover:after{opacity:1}.nav-item.active{background:linear-gradient(180deg,#ffffff29,#ffffff14);border-color:#7ab6ff47;box-shadow:0 10px 22px #00000029;color:#fff;font-weight:600}.nav-item.active:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:22px;background:#90c6ff;border-radius:0 3px 3px 0;transition:height var(--transition-fast),background var(--transition-fast)}.nav-item.has-pending-tasks{color:#ffd166!important;font-weight:800}.nav-item.has-pending-tasks>span:after{content:" ·";color:#ffd166;font-weight:900}.nav-item>span,.nav-item-icon{position:relative;z-index:1}.nav-item-icon{color:currentColor;transition:transform var(--transition-fast),color var(--transition-fast)}.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,#fffdfb 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:#ffc2c2;box-shadow:0 5px 12px #6637371f}.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%;min-height:42px;height:42px;padding:10px 16px;border:1px solid var(--color-border);border-radius:var(--radius-full);background:var(--color-surface);color:var(--color-text);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:#fffdfb}.auth-input:focus{outline:0;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:#fff0f0;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:#d9c0b1;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,#5c4b4b0f,#5c4b4b42)}@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%}.auth-visual__content{left:18px;right:18px;bottom:18px}}.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);justify-content:center;height:40px}.sidebar.collapsed .nav-item.active:before{display:none}.sidebar.collapsed .nav-item-icon{width:19px;height:19px}.sidebar-login{padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-sidebar-border);flex-shrink:0}.sidebar-login input{width:100%;padding:var(--space-1) var(--space-2);border:1px solid var(--color-sidebar-border);border-radius:var(--radius-md);font:var(--text-body);color:var(--color-sidebar-text);background:var(--color-surface);outline:none;transition:border-color var(--transition-fast)}.sidebar-login input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.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);display:flex;align-items:center;padding:0 var(--space-6);gap:var(--space-3);background:var(--color-surface);border-bottom:1px solid var(--color-border);flex-shrink:0}.app-header-breadcrumb{display:flex;align-items:center;gap:var(--space-1);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);font-weight:500}.app-header-search{flex:1;max-width:320px;position:relative}.app-header-search input{width:100%;padding:var(--space-1) var(--space-3);padding-left:32px;border:1px solid var(--color-border);border-radius:var(--radius-full);font:var(--text-body);color:var(--color-text);background:var(--color-bg);outline:none;transition:all var(--transition-fast)}.app-header-search input:focus{border-color:var(--color-primary);background:var(--color-surface);box-shadow:0 0 0 3px var(--color-primary-light)}.app-header-search:before{content:"🔍";position:absolute;left:var(--space-2);top:50%;transform:translateY(-50%);font-size:.75rem;opacity:.5;pointer-events:none}.app-header-actions{display:flex;align-items:center;gap:var(--space-2);margin-left:auto}.header-btn{width:32px;height:32px;border:none;background:none;border-radius:var(--radius-md);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-btn:hover{background:var(--color-sidebar-hover);color:var(--color-text)}.header-avatar{width:28px;height:28px;border-radius:var(--radius-full);background:var(--color-primary);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;padding:var(--space-6);position:relative}.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)}}.sidebar{background:linear-gradient(180deg,#ca6a75,#b95866)}.toolbar{display:flex;align-items:center;gap:var(--space-2);padding-bottom:var(--space-4);flex-wrap:wrap;flex-shrink:0}.toolbar-left{display:flex;align-items:center;gap:var(--space-2);flex:1}.toolbar-right{display:flex;align-items:center;gap:var(--space-2)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-full);font:var(--text-body);font-weight:600;cursor:pointer;background:#eae6e0;color:var(--color-text);transition:all var(--transition-fast);white-space:nowrap;height:32px}.btn:hover{background:var(--color-sidebar-hover);color:var(--color-text);border-color:var(--color-border)}.btn:active{transform:scale(.97)}.btn-primary{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.btn-primary:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover);color:#fff}.btn-danger{background:var(--color-danger);color:#fff;border-color:var(--color-danger)}.btn-danger:hover{background:#c55a59;color:#fff}.btn-sm{height:28px;padding:var(--space-1) var(--space-2);font:var(--text-caption);border-radius:var(--radius-full)}.btn-icon{width:32px;padding:0}.settings-card{background:#fff;border-radius:16px;border:1px solid #e8ddd5;padding:20px;margin-bottom:16px}.settings-card-title{margin:0 0 12px;font-size:.95rem;font-weight:700;color:var(--color-primary-hover)}.settings-card-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:8px}.settings-card-meta{font-size:.8rem;color:#5c4b4b;background:#faf6f2;border-radius:12px;padding:12px}.meta-label{font-weight:600;display:inline-block;min-width:80px}.meta-row{padding:2px 0}.input-sm{border-radius:20px;padding:6px 12px;border:1px solid var(--color-border);font-size:.78rem}.system-paths-page{max-width:1040px;margin:0 auto}.system-paths-page__header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:24px}.system-paths-page__header>div>span{color:var(--color-primary-light);font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.system-paths-page__header h1{margin:5px 0 6px;color:#443b37;font-size:1.45rem}.system-paths-page__header p{margin:0;color:#6b7280;font-size:.86rem}.system-paths-status{flex:0 0 auto;padding:6px 11px;border-radius:999px;background:#f3eee9;color:#8a7a72;font-size:.72rem}.system-paths-status.is-ready{background:#eaf6ee;color:#4d7c5a}.system-paths-surface{overflow:hidden}.system-paths-group{display:grid;grid-template-columns:minmax(190px,.72fr) minmax(0,1.6fr);gap:40px;padding:24px 0;border-bottom:1px solid #eee5df}.system-paths-group:first-child{padding-top:0}.system-paths-group:last-child{border-bottom:0;padding-bottom:0}.system-paths-group__heading h2{margin:0 0 7px;color:#514641;font-size:.94rem}.system-paths-group__heading p{margin:0;color:#9ca3af;font-size:.76rem;line-height:1.6}.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{color:#5c4b4b;font-size:.8rem;font-weight:650}.system-path-field>small{grid-column:1;color:#9ca3af;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;padding:10px 13px;border:0;border-bottom:1px solid #e8ddd5;background:#fcfaf8;color:#4f4540;font:inherit;font-size:.8rem;transition:border-color .15s,background .15s}.system-path-field>input:focus{outline:0;border-color:var(--color-primary-light);background:var(--color-surface)}.export-security-form{width:min(760px,100%);padding:24px 28px;box-sizing:border-box}.export-security-form>p{max-width:680px;margin:0 0 22px;line-height:1.7}.export-security-form .system-path-field{grid-template-columns:150px minmax(0,1fr);gap:12px 24px;margin-top:14px}.export-security-form .system-path-field>input{min-height:46px;padding:11px 15px;font-size:.9rem;letter-spacing:.06em}.system-paths-feedback{margin:18px 0 0;padding:10px 13px;border-radius:10px;font-size:.78rem}.system-paths-feedback.is-error{background:#fff0f0;color:#b84f4f}.system-paths-feedback.is-success{background:#edf8f0;color:#487454}.system-paths-actions{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 0 0;border-top:1px solid #eee5df;margin-top:20px}.system-paths-actions p{margin:0;color:#9ca3af;font-size:.72rem}.system-paths-actions--danger{border-top-color:#e8b4b4}.system-paths-actions--danger p{color:#b84f4f}.system-paths-loading{padding:32px 0;color:#9ca3af;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-page{max-width:1240px}.output-layout{display:grid;grid-template-columns:320px minmax(0,1fr);gap:var(--space-5);align-items:start}.output-sidebar{position:sticky;top:16px;padding:var(--space-5)}.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:8px;max-height:calc(100vh - 320px);overflow:auto;padding-right:2px}.output-filter-item{width:100%;padding:12px 13px;border:1px solid var(--color-border-light);border-radius:var(--radius-lg);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;gap:var(--space-5);min-width:0}.output-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-5);padding:var(--space-5)}.output-hero__summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3);flex:1}.output-stat{padding:var(--space-3);border-radius:var(--radius-lg);background:var(--color-primary-bg)}.output-stat strong{display:block;color:var(--color-primary);font-family:var(--font-display);font-size:1.05rem;font-weight:600}.output-stat span{color:var(--color-text-muted);font-size:.72rem}.output-hero__actions{display:flex;flex-direction:column;gap:var(--space-3);min-width:290px}.output-file-field{display:flex;flex-direction:column;gap:6px}.output-file-field span{color:var(--color-text-secondary);font-size:.74rem;font-weight:600}.output-file-field input{min-height:34px;width:100%;box-sizing:border-box;padding:8px 14px;border:1px solid var(--color-border);border-radius:var(--radius-full);background:var(--color-surface);color:var(--color-text)}.output-file-field input:focus{outline:0;border-color:var(--color-primary);box-shadow:0 0 0 4px var(--color-primary-bg)}.output-format-toggle{display:inline-flex;padding:3px;border:1px solid var(--color-border-light);border-radius:var(--radius-full);background:var(--color-border-light)}.output-format-toggle__btn{border:0;border-radius:var(--radius-full);background:transparent;color:var(--color-text-secondary);cursor:pointer;font-size:.76rem;font-weight:600;padding:7px 14px;transition:all var(--transition-fast)}.output-format-toggle__btn.is-active{background:var(--color-primary);color:var(--color-surface);box-shadow:0 4px 10px color-mix(in srgb,var(--color-primary) 25%,transparent)}.output-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-5)}.output-panel{padding:var(--space-5)}.output-panel__head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-4)}.output-panel__head h3{margin:0 0 4px;color:var(--color-text);font-family:var(--font-display);font-size:1rem;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-actions--stack{margin-top:var(--space-3)}.output-summary{display:grid;gap:10px}.output-summary__row{display:grid;grid-template-columns:120px minmax(0,1fr);gap:var(--space-3);align-items:center;padding:10px 0;border-bottom:1px solid var(--color-border-light)}.output-summary__row:last-child{border-bottom:0}.output-summary__row span{color:var(--color-text-muted);font-size:.74rem}.output-summary__row strong{color:var(--color-text);font-size:.8rem}.output-feedback{margin-top:var(--space-3);padding:10px 13px;border-radius:var(--radius-md);font-size:.78rem}.output-feedback.is-error{background:#fff0f0;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-empty{padding:var(--space-6);border:1px dashed var(--color-border);border-radius:var(--radius-lg);background:var(--color-primary-bg);text-align:center}.output-empty__title{color:var(--color-text);font-family:var(--font-display);font-size:.96rem;font-weight:600}.output-empty__desc{margin-top:6px;color:var(--color-text-muted);font-size:.78rem;line-height:1.6}.output-json-box{overflow:auto;max-height:360px;border:1px solid var(--color-border-light);border-radius:var(--radius-lg);background:#fbf7f2}.output-json-box pre{margin:0;padding:var(--space-4);color:var(--color-text-secondary);font-size:.74rem;line-height:1.7;white-space:pre-wrap;word-break:break-word}.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)}.output-merge-result{margin-top:var(--space-4)}.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}.task-layout__main,.task-layout__aside{display:flex;flex-direction:column;gap:var(--space-5);min-width:0}.task-panel__head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-4)}.task-panel__head h2{margin:2px 0 4px;color:var(--color-text);font-family:var(--font-display);font-size:1.05rem;font-weight:600}.task-panel__head p{margin:0;color:var(--color-text-muted);font-size:.78rem;line-height:1.6}.task-form-card,.task-list-card,.task-export-card{padding:var(--space-5)}.task-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.task-field{display:flex;flex-direction:column;gap:6px;min-width:0}.task-field--full{grid-column:1 / -1}.task-field>span{color:var(--color-text-secondary);font-size:.74rem;font-weight:600}.task-field input,.task-field select,.task-field textarea{width:100%;box-sizing:border-box;border:1px solid var(--color-border);border-radius:var(--radius-full);background:var(--color-surface);color:var(--color-text);font-size:.82rem;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.task-field input,.task-field select{min-height:36px;padding:8px 14px}.task-field textarea{min-height:120px;padding:12px 14px;border-radius:18px;resize:vertical}.task-field input:focus,.task-field select:focus,.task-field textarea:focus{outline:0;border-color:var(--color-primary);box-shadow:0 0 0 4px var(--color-primary-bg)}.task-form-actions{display:flex;align-items:center;gap:var(--space-3);margin-top:var(--space-4);flex-wrap:wrap}.task-feedback{margin-top:var(--space-3);padding:10px 13px;border-radius:var(--radius-md);font-size:.78rem}.task-feedback.is-error{background:#fff0f0;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)}.design-modal-overlay:has(.task-form-modal){display:flex;align-items:center;justify-content:center;box-sizing:border-box}.task-form-modal{position:relative;box-sizing:border-box;width:min(720px,calc(100vw - 40px));max-width:720px;max-height:calc(100vh - 40px);margin:0 auto;overflow:auto}.task-table-card{margin-top:var(--space-2)}.task-export-card .task-panel__head{align-items:center}.task-export-card .task-panel__head .btn{white-space:nowrap}.task-export-card .directory-table-scroll{max-height:330px}@media (max-width: 980px){.output-layout{grid-template-columns:1fr}.output-sidebar{position:static}.output-grid{grid-template-columns:1fr}.output-hero{flex-direction:column}.output-hero__summary{grid-template-columns:1fr}.output-hero__actions{min-width:0;width:100%}}@media (max-width: 1180px){.task-layout{grid-template-columns:1fr}}@media (max-width: 960px){.task-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.task-panel__head{flex-direction:column}.task-list__filters{justify-content:flex-start}.task-search{width:100%}}@media (max-width: 640px){.task-stats,.task-form-grid{grid-template-columns:1fr}.task-field--full{grid-column:auto}.task-row__actions{flex-direction:column;align-items:stretch}}@media (max-width: 760px){.system-paths-page__header,.system-paths-actions{align-items:stretch;flex-direction:column}.system-paths-group{grid-template-columns:1fr;gap:18px;padding:24px 20px}.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-admin{background:var(--color-primary-bg);color:var(--color-primary-hover)}.badge-user{background:#f0f4f8;color:#4a6f8a}.badge-viewer{background:#f5f5f5;color:#8a8a8a}.table-wrap{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);overflow:hidden}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;table-layout:auto}thead{position:sticky;top:0;z-index:2}th{height:44px;padding:0 var(--space-3);font:var(--text-caption);font-weight:700;color:var(--color-text);text-align:left;background:#f5f0e8;border-bottom:1px solid #e7dcc0;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);border-bottom:1px solid var(--color-border-light);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}tbody tr{transition:background var(--transition-fast);cursor:pointer}tbody tr:hover{background:#fcf9f5}tbody tr.selected{background:var(--color-row-selected)}tbody tr:last-child td{border-bottom:none}.table-checkbox{width:16px;height:16px;border:1.5px solid var(--color-border);border-radius:4px;cursor:pointer;accent-color:var(--color-primary)}.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-success{background:#f0fdf4;color:#166534}.badge-warning{background:#fffbeb;color:#92400e}.badge-danger{background:#fef2f2;color:#991b1b}.badge-info{background:var(--color-primary-light);color:var(--color-primary)}.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}.panel-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000026;z-index:50;animation:fadeIn .15s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.detail-panel{position:fixed;top:0;right:0;width:var(--panel-width);height:100vh;background:var(--color-surface);border-left:1px solid var(--color-border);z-index:51;display:flex;flex-direction:column;transform:translate(100%);transition:transform var(--transition-slow);box-shadow:var(--shadow-xl)}.detail-panel.open{transform:translate(0)}.panel-header{display:flex;align-items:center;padding:var(--space-4) var(--space-5);gap:var(--space-2);border-bottom:1px solid var(--color-border);flex-shrink:0;min-height:56px}.panel-header h2{font:var(--text-title);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.panel-close{width:28px;height:28px;border:none;background:none;border-radius:var(--radius-md);cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary);transition:all var(--transition-fast);font-size:1.125rem}.panel-close:hover{background:var(--color-sidebar-hover);color:var(--color-text)}.panel-body{flex:1;overflow-y:auto;padding:var(--space-5)}.panel-section{margin-bottom:var(--space-5)}.panel-section-title{font:var(--text-caption);font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-2)}.panel-field{display:flex;flex-direction:column;gap:2px;padding:var(--space-1) 0}.panel-field-label{font:var(--text-caption);color:var(--color-text-muted)}.panel-field-value{font:var(--text-body);color:var(--color-text)}.panel-actions{padding:var(--space-4) var(--space-5);border-top:1px solid var(--color-border);display:flex;gap:var(--space-2);flex-shrink:0}.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 #e7dcc0;margin-bottom:20px}.form-avatar{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:var(--color-primary-bg);color:var(--color-primary-hover);font-size:24px;font-weight:700;flex-shrink:0;overflow:hidden;position:relative;cursor:pointer}.form-avatar:hover:after{content:"📷";position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#0000004d;color:#fff;font-size:18px}.form-identity{display:flex;flex-direction:column;gap:6px;flex:1}.form-name-input{font-size:1.3rem;font-weight:700;color:#5c4b4b;border:none;background:transparent;padding:0;outline:none;width:100%;font-family:inherit}.form-name-input::placeholder{color:#b8aca5}.form-id-badge{font-size:.8rem;color:#9b8b8b;display:flex;align-items:center;gap:8px}.form-id-badge .new-badge{display:inline-block;background:var(--color-primary);color:#fff;padding:2px 10px;border-radius:30px;font-size:.65rem;font-weight:700}.form-tabs{display:flex;gap:4px;margin-bottom:20px;overflow-x:auto}.form-tab-btn{padding:8px 18px;background:var(--color-border-light);border:none;border-radius:30px;cursor:pointer;font-size:.8rem;font-weight:500;color:#8a7a72;transition:all .15s ease;white-space:nowrap}.form-tab-btn.active{background:var(--color-primary);color:#fff;font-weight:600}.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:#faf6f2;border-bottom:1px solid #e7dcc0}.form-section-card-header h3{font-size:.85rem;font-weight:700;color:#5c4b4b;margin:0}.form-section-card-header .field-count{font-size:.7rem;color:#9b8b8b;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:#5c4b4b;display:flex;align-items:center;gap:4px}.form-field-label .required-star{color:#e27978}.form-field-hint{font-size:.68rem;color:#b0a098;margin-top:2px}.form-input{padding:8px 12px;border:1px solid var(--color-border);border-radius:10px;font-size:.85rem;background:#fff;color:#5c4b4b;outline:none;transition:border-color .15s ease,box-shadow .15s ease;font-family:inherit;width:100%;box-sizing:border-box}.form-input:focus{border-color:var(--color-primary-light);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-primary) 15%,transparent)}.form-input::placeholder{color:#c8bdb5}select.form-input{cursor:pointer}textarea.form-input{resize:vertical;min-height:80px}.form-tab-content{padding-bottom:88px}.form-action-bar{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:14px 24px;background:transparent;border-top:1px solid var(--color-border);margin-top:24px;border-radius:0 0 16px 16px}.form-alert{padding:10px 16px;border-radius:10px;font-size:.82rem;font-weight:600;margin-bottom:16px}.form-alert--success{background:#eaf6ea;color:#2d7a2d;border-left:4px solid #8fb88f}.form-alert--error{background:#fde8e8;color:#b55a5a;border-left:4px solid #e27978}.form-rel-card{display:flex;gap:12px;align-items:flex-start;padding:12px;border:1px solid var(--color-border-light);border-radius:12px;background:#faf7f2}.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)}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4)}.card-title{font:var(--text-subtitle);color:var(--color-text)}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);height:32px}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;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 8px center;padding-right:28px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2) var(--space-5)}.content-area::-webkit-scrollbar,.panel-body::-webkit-scrollbar{width:6px}.content-area::-webkit-scrollbar-track,.panel-body::-webkit-scrollbar-track{background:transparent}.content-area::-webkit-scrollbar-thumb,.panel-body::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}.content-area::-webkit-scrollbar-thumb:hover,.panel-body::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}.name-cell{display:flex;flex-direction:column;gap:4px;min-width:180px}.name-main{font-size:.875rem;font-weight:600;color:var(--color-text);line-height:1.2}.name-sub{font-size:.75rem;color:var(--color-text-muted);line-height:1.2}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-5)}.page-title{font:var(--text-title);color:var(--color-text);display:flex;align-items:center;gap:var(--space-2)}.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:#fffdfcc2;box-shadow:var(--shadow-card);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.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-hero{padding:12px;border-radius:16px}.output-hero__summary{gap:8px}.output-stat{min-height:70px;padding:10px 12px;border-radius:12px}.output-stat strong{font-size:.92rem}.output-hero__actions{min-width:220px}.output-file-field input{min-height:40px;border-radius:11px}.output-grid{grid-template-columns:minmax(0,1fr) minmax(270px,320px);gap:14px}.output-panel{padding:14px;border-radius:16px}.output-panel__head{margin-bottom:12px}.output-panel__head h3{font-size:.9rem}.output-actions--stack{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.output-main>.output-panel{min-height:250px}.output-filter-list{max-height:252px;overflow-y:auto;scrollbar-width:thin}.output-filter-item{padding:10px;border-radius:12px}.output-summary__row{grid-template-columns:100px minmax(0,1fr);padding:8px 0}@media (max-width: 1050px){.output-layout{grid-template-columns:210px minmax(0,1fr)}.output-grid{grid-template-columns:1fr}}@media (max-width: 760px){.output-layout{grid-template-columns:1fr}.output-sidebar{position:static}.output-hero{flex-direction:column}.output-hero__summary{grid-template-columns:1fr;width:100%}.output-hero__actions{min-width:0;width:100%}}.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;border-bottom:1px solid var(--color-border-light);text-align:left;vertical-align:top;font-size:.8rem}.output-transpose-table thead th{position:sticky;top:0;z-index:1;background:var(--color-surface);color:var(--color-text-secondary);font-weight:700}.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}}:root{--member-input-line: var(--color-border);--member-input-hover: var(--color-primary-light);--member-focus: var(--color-primary)}.member-detail-page{background:#faf6f2;min-height:100%;font-family:inherit;color:#202124}.member-detail-surface{background:#fff;min-height:calc(100vh - 48px);padding:32px 40px 96px}.member-profile-summary{display:flex;align-items:center;gap:24px;padding:8px 0 32px}.member-profile-avatar{width:72px;height:72px;flex:0 0 72px;border-radius:50%;display:grid;place-items:center;background:var(--color-primary-bg);color:var(--color-primary-hover);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:#202124ad;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-profile-name{display:block;width:min(420px,70vw);height:auto!important;padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important;color:#202124!important;font-size:28px!important;font-weight:700!important}.member-profile-meta{margin-top:6px;color:#9ca3af;font-size:13px}.member-profile-badges{display:flex;gap:8px;margin-top:12px}.member-profile-badges span{padding:4px 10px;border-radius:999px;background:var(--color-primary-bg);color:var(--color-primary-hover);font-size:12px;font-weight:600}.member-detail-tabs{display:flex;gap:28px;overflow-x:auto;border-bottom:1px solid #e8ddd5;margin-bottom:32px}.member-detail-tabs button{position:relative;border:0;background:transparent;padding:12px 0 14px;color:#6b7280;font:inherit;font-size:14px;font-weight:600;white-space:nowrap;cursor:pointer}.member-detail-tabs button.active{color:var(--color-primary-hover)}.member-detail-tabs button.active:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--color-primary)}.member-detail-sections{display:flex;flex-direction:column;gap:40px}.member-detail-section h3{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 24px;padding-bottom:12px;border-bottom:1px solid #e8ddd5;color:#8b7f78;font-size:12px;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.member-detail-section h3 small{color:#b1a7a1;font-size:11px;font-weight:500;letter-spacing:0;text-transform:none}.member-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 48px}.member-detail-grid>label,.member-detail-field{min-width:0!important;width:100%}.member-form-field{display:flex;flex-direction:column;gap:8px;min-width:0}.member-form-field--wide{grid-column:1 / -1}.member-detail-grid label>span{color:#504742!important;font-size:13px!important;line-height:1.4;font-weight:650!important}.member-detail-grid input:not([type=file]),.member-detail-grid select,.member-detail-grid textarea{width:100%;min-height:44px;border:0!important;border-bottom:1.5px solid var(--member-input-line)!important;border-radius:0!important;padding:10px 2px!important;background:transparent!important;box-shadow:none!important;color:#28221f;font-size:15px;line-height:1.5;transition:border-color .15s ease,background-color .15s ease}.member-detail-grid textarea{min-height:88px;resize:vertical}.member-detail-grid input::placeholder,.member-detail-grid textarea::placeholder{color:#b7aea8}.member-detail-grid input:hover,.member-detail-grid select:hover,.member-detail-grid textarea:hover{border-bottom-color:var(--member-input-hover)!important}.member-detail-grid input:focus,.member-detail-grid select:focus,.member-detail-grid textarea:focus{border-bottom-color:var(--member-focus)!important;background:linear-gradient(to bottom,transparent 80%,var(--color-primary-bg) 80%)!important;outline:0}.member-detail-section--muted{color:#6b7280}.member-detail-alert{margin-bottom:24px;padding:12px 16px;border-radius:8px;font-size:14px}.member-detail-alert--success{background:#eef8f0;color:#287a3e}.member-detail-alert--error{background:var(--color-danger-light);color:var(--color-danger)}@media (max-width: 760px){.member-detail-surface{padding:24px 20px 80px}.member-profile-summary{align-items:flex-start}.member-detail-grid{grid-template-columns:1fr}.member-detail-tabs{gap:20px}}.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:#faf6f2;color:#5c4b4b}.member-edit-modal__topbar{display:flex;align-items:center;justify-content:space-between;min-height:68px;padding:12px 32px;border-bottom:1px solid var(--color-border);background:var(--color-surface)}.member-edit-modal__eyebrow{display:block;margin-bottom:2px;color:#9b8b8b;font-size:.68rem;font-weight:700;letter-spacing:.12em}.member-edit-modal__topbar h2{margin:0;color:#5c4b4b;font-size:1.15rem}.member-edit-modal__close{width:40px;height:40px;border:1px solid var(--color-border);border-radius:50%;background:var(--color-surface);color:var(--color-text-secondary);font-size:1.5rem;line-height:1;cursor:pointer}.member-edit-modal__close:hover{border-color:var(--color-primary-light);color:var(--color-primary-hover);background:var(--color-primary-bg)}.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__profile{max-width:1180px;margin:0 auto}.member-edit-modal__tabs{position:sticky;top:-24px;z-index:4;max-width:1180px;margin:0 auto 24px;padding:14px 0;background:#faf6f2}.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:#9b8b8b;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);background:color-mix(in srgb,var(--color-surface) 96%,transparent)}.member-edit-family-list{display:flex;flex-direction:column;padding:4px 18px}.member-edit-family-row{display:grid;grid-template-columns:34px 110px minmax(160px,1fr) minmax(120px,auto);gap:16px;align-items:center;padding:14px 0;width:100%;border:0;background:transparent;color:inherit;text-align:left;font:inherit;cursor:pointer;transition:background-color .15s ease}.member-edit-family-row>span{color:#9b8b8b;font-size:.78rem}.member-edit-family-row>strong{color:#5c4b4b;font-size:.88rem}.member-edit-family-row>small{color:#aa9d95}@media (max-width: 720px){.member-edit-modal__topbar{padding:10px 16px}.member-edit-modal__body{padding:18px 16px 112px}.member-edit-modal__tabs{top:-18px}.member-edit-modal__footer{padding:12px 16px}.member-edit-family-row{grid-template-columns:34px 80px 1fr}.member-edit-family-row>small{grid-column:3}}.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;background:var(--color-primary-bg);color:var(--color-primary-hover)}.member-reference-avatar--empty{display:grid;place-items:center;font-size:.75rem;font-weight:700}.member-edit-family-row:hover{background:#fcf9f5}.member-edit-family-row:focus-visible{outline:2px solid var(--color-primary-light);outline-offset:-2px;border-radius:8px}.member-edit-family-row:disabled{cursor:default}.member-reference-avatar--empty{position:relative;overflow:hidden}.member-reference-avatar--empty>img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;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:#5c4b4b;font:inherit;text-align:left}.candidate-selected-member small{color:#9b8b8b;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}.family-card{max-width:980px;margin:0 auto 14px;overflow:hidden;border:1px solid #e8ddd5;border-radius:16px;background:#fff}.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 #eee5df;background:#faf6f2}.family-card__eyebrow{display:block;margin-bottom:1px;color:#a1938b;font-size:.64rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.family-card__header h3{margin:0;color:#5c4b4b;font-size:.9rem}.family-card__count{padding:3px 9px;border-radius:999px;background:var(--color-border-light);color:var(--color-text-secondary);font-size:.7rem}.family-card__members{padding:2px 12px}.family-member{display:grid;grid-template-columns:36px minmax(150px,1fr) 76px 92px;gap:10px;align-items:center;min-height:52px;padding:7px 4px;border-bottom:1px solid #f3ece6}.family-member:last-child{border-bottom:0}.family-member--clickable{cursor:pointer;border-radius:9px;transition:background-color .15s ease,transform .15s ease}.family-member--clickable:hover{background:#fcf7f3;transform:translate(2px)}.family-member--clickable:focus-visible{outline:2px solid var(--color-primary-light);outline-offset:-2px}.family-member__avatar{position:relative;display:grid;place-items:center;width:34px;height:34px;overflow:hidden;border-radius:50%;background:var(--color-primary-bg);color:var(--color-primary-hover);font-size:.75rem;font-weight:700}.family-member__avatar img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.family-member__identity{display:flex;flex-direction:column;min-width:0;gap:1px}.family-member__identity strong{overflow:hidden;color:#4f4540;font-size:.84rem;text-overflow:ellipsis;white-space:nowrap}.family-member__identity small{color:#aa9d95;font-size:.68rem}.family-role-badge{justify-self:start;padding:3px 8px;border-radius:999px;font-size:.68rem;font-weight:700}.family-role-badge--father{background:#eaf1fb;color:#456b9b}.family-role-badge--mother{background:#fbecef;color:#a8556a}.family-role-badge--child{background:#eaf6ee;color:#4d7c5a}.family-role-badge--spouse{background:#f4ecfb;color:#75549a}.family-role-badge--self{background:var(--color-primary-bg);color:var(--color-primary-hover)}.family-role-badge--relative{background:#f2eee9;color:#786b63}.family-member__action{border:0;background:transparent;color:#b86565;font:inherit;font-size:.7rem;font-weight:600;cursor:pointer}.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-size:.72rem;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;grid-template-columns:minmax(220px,1fr) 150px 30px;gap:10px;align-items:end;padding:8px 4px;border-bottom:1px solid #f3ece6}.family-relation-editor__remove{width:28px;height:28px;margin-bottom:4px;border:0;border-radius:50%;background:#fde8e8;color:#b55a5a;cursor:pointer}.family-card__empty{padding:20px 8px;color:#a1938b;font-size:.78rem;text-align:center}@media (max-width: 720px){.family-member{grid-template-columns:36px 1fr auto}.family-member__action{display:none}.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;font-size:.7rem}.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-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-size:.76rem;font-weight:600}.family-household-choice__candidate small{color:var(--color-text-muted);font-size:.68rem;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-size:.7rem;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:#b84f4f;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-tab-spacer{min-height:1px}.family-tab-tables{min-width:0}.family-tab-tables .family-card{width:100%;max-width:none;margin:0 0 8px}.family-household-kpi{position:sticky;top:74px;overflow:hidden;border:0}.roster-family-layout>.family-household-kpi{font-family:"Noto Serif TC",serif}.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);background:var(--color-primary-bg)}.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-size:.95rem;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-size:.72rem;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;font-size:.75rem}.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-size:.72rem;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-size:.68rem;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);font-size:1rem}.family-household-kpi__metrics span{margin-top:var(--space-1);color:var(--color-text-muted);font-size:.68rem}.family-household-kpi__state{display:grid;min-height:210px;place-items:center;padding:var(--space-5);color:var(--color-text-muted);font-size:.78rem;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-stack{position:static;display:flex;min-width:0;flex-direction:column;gap:var(--space-4)}.family-photo-overview-stack>.family-household-kpi{position:static;top:auto}.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);font-size:.78rem;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-size:.64rem;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);font-size:.74rem;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}.family-photo-search-error{color:var(--color-danger);font-size:.68rem}.roster-family-text-link{display:inline-flex;padding:0;border:0;background:transparent;flex-direction:column;color:inherit;cursor:pointer;text-align:left}.roster-family-text-link strong{color:var(--color-primary);font-size:.8rem}.roster-family-text-link small{color:var(--color-text-muted);font-size:.68rem}.roster-family-text-link--person{display:inline-grid;grid-template-columns:30px minmax(0,1fr);gap:var(--space-2);align-items:center}.roster-family-text-link--person>span:last-child{display:flex;min-width:0;flex-direction:column}.roster-family-text-link--person img,.roster-family-text-link__fallback{display:grid;width:30px;height:30px;overflow:hidden;place-items:center;border-radius:var(--radius-full);background:linear-gradient(155deg,var(--color-primary-light),var(--color-primary));color:var(--color-surface);object-fit:cover;font-size:.68rem;font-weight:700}@media (max-width: 980px){.family-tab-layout{grid-template-columns:1fr}.family-tab-spacer{display:none}.family-household-kpi,.family-photo-overview-stack{position:static}}.roster-family-layout{display:grid;grid-template-columns:minmax(180px,.72fr) minmax(620px,1.28fr);gap:32px;align-items:start}.roster-family-stack{display:flex;flex-direction:column;gap:8px;min-width:0}.roster-family-table{overflow:hidden;border:1px solid #e8ddd5;border-radius:16px;background:#fff}.roster-family-table>header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid #eee5df;background:#faf6f2}.roster-family-table h3{margin:0;font-size:.9rem;color:#5c4b4b}.roster-family-table header small{color:#a1938b;font-size:.64rem;font-weight:700;letter-spacing:.1em}.roster-family-table header>span{color:#8a7a72;font-size:.7rem}.roster-family-table__scroll{overflow:auto;max-height:320px}.roster-family-table table{width:100%;border-collapse:collapse}.roster-family-table th,.roster-family-table td{padding:9px 12px;border-bottom:1px solid #f3ece6;text-align:left;font-size:.78rem}.roster-family-table th{position:sticky;top:0;background:#fffaf6;color:#8a7a72}.roster-family-person{display:flex;align-items:center;gap:8px;border:0;background:none;color:inherit;cursor:pointer;text-align:left}.roster-family-person img{width:30px;height:30px;border-radius:50%;object-fit:cover}.roster-family-person span{display:flex;flex-direction:column}.roster-family-person strong{color:var(--color-primary-hover)}.roster-family-person small{color:#aa9d95}@media (max-width:980px){.roster-family-layout{grid-template-columns:1fr}.roster-family-layout>div:first-child{display:none}}.record-page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.record-page-header h1{font-size:1.15rem;font-weight:700;color:var(--color-primary-hover)}.record-page-header>div{display:flex;gap:8px;align-items:center}.record-page-header span,.record-limit{font-size:.75rem;color:#b0a098}.schema-record-table{overflow:hidden;border:1px solid #e8ddd5;border-radius:16px;background:#fff}.schema-record-table .table-scroll{max-height:calc(100vh - 200px);overflow:auto}.schema-record-table th{position:sticky;top:0;z-index:2;height:44px;padding:0 16px;border-bottom:1px solid #e8ddd5;background:#faf6f2;color:#8a7a72;font-size:.75rem;text-align:left}.schema-record-table td{max-width:240px;height:52px;padding:0 16px;border-bottom:1px solid #f3ece6;color:#4a3f3a;font-size:.8125rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.schema-record-table tbody tr:hover{background:#faf5f0}.record-reference,.record-name{display:inline-flex;flex-direction:column;gap:3px}.record-reference small,.record-name small{color:#aa9d95;font-size:.75rem}.record-name strong{color:var(--color-primary-hover)}.record-state{padding:48px 20px;text-align:center;color:#b0a098}.record-limit{padding:8px 16px}.record-page-title{display:flex;align-items:center;gap:10px}.record-search{width:180px;padding:7px 14px;border:1px solid var(--color-border);border-radius:999px;font-size:.8rem}.record-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1400;display:grid;place-items:center;background:#5c4b4b80;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.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:#5c4b4b}.record-modal__grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 20px}.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)}@media (max-width:700px){.record-page-header{align-items:flex-start;gap:12px;flex-direction:column}.record-modal__grid{grid-template-columns:1fr}}:root{--family-surface: #faf6ef;--family-surface-soft: #f6f1e8}.family-card,.family-household-kpi,.family-photo-overview,.roster-family-table,.roster-family-workspace .directory-table-card{background:var(--family-surface)}.family-card__header,.roster-family-table header,.family-household-kpi__header{background:var(--family-surface-soft)}.family-card__header h3,.family-household-kpi__header h3,.roster-family-table h3{font-size:1.05rem}.family-card__eyebrow,.roster-family-table header small{font-size:.76rem}.family-card__count,.family-role-badge,.family-household-kpi__id{font-size:.8rem}.family-member__identity strong,.family-photo-person__identity strong,.roster-family-text-link strong{font-size:.95rem}.family-member__identity small,.family-photo-person__identity small,.roster-family-text-link small{font-size:.8rem}.family-member__action,.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}.member-edit-family-row>span{font-size:.88rem}.member-edit-family-row>strong{font-size:.98rem}.design-page{width:100%;max-width:none;margin:0}.page-header-block{min-width:0}.design-page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-5)}.design-page-header__title-line{display:flex;align-items:baseline;gap:.5ch;flex-wrap:wrap}.design-page-header__title-line .directory-title{display:block}.design-page-header p{margin:0;color:var(--color-text-muted);font-size:.8rem}.design-card{border:1px solid var(--color-border-light);border-radius:var(--radius-xl);background:var(--color-surface);box-shadow:var(--shadow-md)}.design-surface{border-radius:var(--radius-xl);background:var(--color-surface);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,.command-card h2{margin:0 0 var(--space-4);color:var(--color-text);font-family:var(--font-display);font-size:1rem;font-weight:600}.command-page input:not([type=checkbox]):not([type=radio]),.command-page select,.design-filter-row input,.design-filter-row 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,.design-filter-row input:focus,.design-filter-row select:focus{outline:0;border-color:var(--color-primary)!important;box-shadow:0 0 0 4px var(--color-primary-bg)}.design-filter-row{gap:var(--space-2)!important;margin-bottom:var(--space-2)!important;padding:var(--space-2);border-radius:var(--radius-md);background:var(--color-primary-bg)}.command-page .join-tag{border:1px solid var(--color-border-light);border-radius:var(--radius-full)!important;background:var(--color-primary-bg)!important}.command-page .saved-filter-select{border-radius:var(--radius-full)}.command-page .btn-save-filter,.command-page .btn-add-row{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,.command-page .btn-add-row: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);border-bottom:1px solid var(--color-border-light)}.command-results tbody tr:hover{background:var(--color-row-hover)}.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-page{background:transparent}.add-member-page .member-detail-surface{min-height:0;padding:var(--space-6) var(--space-8) 96px}.add-member-page .member-avatar-uploader{flex-basis:88px}.add-member-page .member-profile-avatar{width:88px;height:88px;flex-basis:88px;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)}.add-member-page .form-page-header{padding:var(--space-3) 0 var(--space-6);border-bottom-color:var(--color-border-light)}.add-member-page .form-name-input{color:var(--color-text);font-family:var(--font-display);font-weight:600}.add-member-page .form-id-badge,.add-member-page .field-count{border-radius:var(--radius-full)}.add-member-page .form-id-badge{align-self:flex-start;padding:5px var(--space-3);border:1px solid var(--color-border-light);background:var(--color-primary-bg)}.add-member-page .form-tabs{gap:var(--space-2)}.add-member-page .form-tab-btn{padding:7px var(--space-4);border-radius:var(--radius-full);background:var(--color-border-light);color:var(--color-text-secondary)}.add-member-page .form-tab-btn.active{background:var(--color-primary);color:var(--color-surface);box-shadow:0 4px 10px color-mix(in srgb,var(--color-primary) 25%,transparent)}.add-member-page .form-section-card{border-color:var(--color-border-light);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm)}.add-member-page .form-section-card-header{padding:var(--space-4) var(--space-5);border-bottom-color:var(--color-border-light);background:var(--color-primary-bg)}.add-member-page .form-section-card-header h3{font-family:var(--font-display);font-size:.92rem;font-weight:600}.add-member-page .form-section-grid{padding:var(--space-5)}.add-member-page .form-input,.add-member-page .candidate-selected-member+input{border-color:var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.add-member-page .form-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 4px var(--color-primary-bg)}.add-member-page .form-rel-card{border-color:var(--color-border-light);border-radius:var(--radius-lg);background:var(--color-primary-bg)}.add-member-page .form-action-bar{border-top-color:var(--color-border-light)}.add-member-page .form-alert--success{border-left-color:var(--color-success);background:color-mix(in srgb,var(--color-success) 18%,var(--color-surface));color:var(--color-success)}.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{0%{filter:blur(10px);opacity:0;transform:rotate(-140deg) scale(.35)}65%{filter:blur(0);opacity:1;transform:rotate(12deg) scale(1.14)}to{filter:blur(0);opacity:1;transform:rotate(0) scale(1)}}.add-member-page .form-alert--error{border-left-color:var(--color-danger);background:var(--color-danger-light);color:var(--color-primary-hover)}.add-member-page .member-detail-surface{padding:var(--space-6) var(--space-8) var(--space-8)}.add-member-shell{display:flex;flex-direction:column;gap:var(--space-6)}.add-member-shell__header{display:flex;align-items:flex-start;justify-content:flex-end;gap:var(--space-6)}.add-member-shell__intro{max-width:820px;display:flex;flex-direction:column;gap:10px}.add-member-shell__eyebrow{font:var(--text-caption);letter-spacing:.12em;text-transform:uppercase;color:var(--color-primary)}.add-member-shell__intro h2{color:var(--color-text);font-family:var(--font-display);font-size:clamp(1.6rem,2vw,2.15rem);line-height:1.15}.add-member-shell__intro p{max-width:58ch;color:var(--color-text-secondary);line-height:1.75}.add-member-shell__status{display:flex;align-items:center;gap:var(--space-3)}.add-member-shell__badge{display:inline-flex;align-items:center;gap:10px;padding:10px 14px;border:1px solid var(--color-border-light);border-radius:var(--radius-full);background:var(--color-surface);box-shadow:var(--shadow-sm);color:var(--color-text-secondary)}.add-member-shell__save{min-width:132px}.chevron-stepper{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;list-style:none;overflow:hidden;border-radius:16px}.chevron-stepper__item{position:relative;min-height:40px;display:flex;align-items:center;justify-content:center;gap:10px;padding:0 24px;font-size:.92rem;font-weight:700;text-align:center}.chevron-stepper__item:not(:first-child){margin-left:-10px}.chevron-stepper__item:first-child{clip-path:polygon(0 0,calc(100% - 14px) 0,100% 50%,calc(100% - 14px) 100%,0 100%)}.chevron-stepper__item:not(:first-child):not(:last-child){clip-path:polygon(14px 0,calc(100% - 14px) 0,100% 50%,calc(100% - 14px) 100%,14px 100%,0 50%)}.chevron-stepper__item:last-child{clip-path:polygon(14px 0,100% 0,100% 100%,14px 100%,0 50%)}.chevron-stepper__item.is-complete{background:linear-gradient(180deg,#4f8ff7,#3e7be4);color:#fff}.chevron-stepper__item.is-inactive{background:color-mix(in srgb,var(--color-primary-bg) 65%,white);color:var(--color-text-secondary)}.chevron-stepper__index{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:999px;font-size:.76rem;background:#ffffff38;color:currentColor}.chevron-stepper__item.is-inactive .chevron-stepper__index{background:#4f8ff71f}.chevron-stepper__label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.add-member-content{display:flex;flex-direction:column;gap:var(--space-4);width:100%;min-width:0;margin:0}.add-member-tabbar{display:flex;flex-wrap:wrap;gap:8px;padding:6px;border:1px solid var(--color-border-light);border-radius:18px;background:#ffffffd1;box-shadow:var(--shadow-sm)}.add-member-tabbar__button{position:relative;min-height:42px;padding:0 18px;border:1px solid transparent;border-radius:12px;background:transparent;color:var(--color-text-secondary);cursor:pointer;font-size:.88rem;font-weight:600;transition:transform var(--transition-fast),background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast)}.add-member-tabbar__button:hover{transform:translateY(-1px);background:var(--color-primary-bg);color:var(--color-primary)}.add-member-tabbar__button.is-active{transform:translateY(-1px);border-color:color-mix(in srgb,var(--color-primary) 18%,var(--color-border-light));background:linear-gradient(180deg,#eaf4fff2,#fffffff5);color:var(--color-primary);box-shadow:0 8px 18px #4f8ff71f}.add-member-hero-card,.add-member-preview__card{border:1px solid var(--color-border-light);border-radius:26px;background:#ffffffeb;box-shadow:0 18px 40px #1f2d3d0f}.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>.add-member-tabbar{flex:0 1 640px;justify-content:flex-end;padding:0;margin-left:auto;border:0!important;border-radius:0;background:transparent!important;box-shadow:none!important}.add-member-hero-card__label{font:var(--text-caption);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted)}.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-hero-card__meta{display:grid;gap:var(--space-3);min-width:180px}.add-member-hero-card__meta div{padding:14px 16px;border:1px solid var(--color-border-light);border-radius:var(--radius-lg);background:linear-gradient(180deg,#eaf4ffd9,#ffffffe6)}.add-member-hero-card__meta span{display:block;font-size:.76rem;color:var(--color-text-muted)}.add-member-hero-card__meta strong{display:block;margin-top:4px;color:var(--color-text);font-size:.92rem}.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 #1f2d3d0d;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,#f8fbfff0,#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)}.add-member-page .form-section-grid{padding:0}.add-member-page .form-field-group{gap:10px}.add-member-page .form-input,.add-member-page .candidate-selected-member+input{min-height:44px;border-color:var(--color-border-light);border-radius:14px;background:linear-gradient(180deg,#fffffffa,#f6f9fcfa)}.add-member-page .form-input:focus{border-color:#85b8ff;box-shadow:0 0 0 4px #85b8ff2e}.add-member-page .form-field-label{color:var(--color-text-secondary);font-weight:600}.add-member-page .form-field-hint{color:var(--color-text-muted)}.add-member-page .form-rel-card{gap:var(--space-4);align-items:start;border-color:var(--color-border-light);border-radius:20px;background:linear-gradient(180deg,#f8fbffe6,#fffffff5)}.system-paths-page{max-width:none}.system-paths-group{border-bottom-color:var(--color-border-light)}.system-paths-actions{border-top-color:var(--color-border-light)}.system-paths-group__heading h2{color:var(--color-text);font-family:var(--font-display);font-weight:600}.system-paths-group__heading p,.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;border-color:var(--color-primary);box-shadow:0 0 0 4px var(--color-primary-bg)}.system-paths-status{border:1px solid var(--color-border);border-radius:var(--radius-full);background:var(--color-border-light);color:var(--color-text-secondary)}.system-paths-status.is-ready{border-color:var(--color-success);background:color-mix(in srgb,var(--color-success) 18%,var(--color-surface));color:var(--color-success)}@media (max-width: 760px){.design-page-header{align-items:flex-start;flex-direction:column}.command-card{padding:var(--space-4)}.add-member-page .member-detail-surface{padding:var(--space-5) var(--space-4) 88px}.chevron-stepper{grid-template-columns:1fr;gap:8px;overflow:visible}.chevron-stepper__item,.chevron-stepper__item:first-child,.chevron-stepper__item:not(:first-child):not(:last-child),.chevron-stepper__item:last-child{clip-path:none;margin-left:0;border-radius:14px}.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-shell__header,.add-member-shell__status,.add-member-hero-card{flex-direction:column;align-items:stretch}.add-member-tabbar{gap:8px}.add-member-tabbar__button{flex:1 1 calc(50% - 8px)}}.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{color:var(--color-primary-light);font-size:.68rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase}.directory-title{display:flex;align-items:baseline;gap:var(--space-3);margin:0;color:var(--color-text);font-family:"Noto Serif TC",serif;font-size:1.75rem;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}.roster-filter-button{border-color:var(--color-border);background:var(--color-border-light);color:var(--color-text)}.directory-ghost-button{border-color:var(--color-border);background:var(--color-surface);color:var(--color-text-secondary)}.directory-ghost-button:hover{border-color:var(--color-primary-light);background:var(--color-surface);color:var(--color-primary)}.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);border-radius:var(--radius-full);background:var(--color-surface);color:var(--color-text);font-size:.8rem;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.directory-search__input:focus{outline:0;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)}.directory-tabs{display:flex;gap:var(--space-2);margin-bottom:var(--space-2);padding:4px;border:1px solid var(--color-border-light);border-radius:16px;background:#ffffffd1}.directory-tab{position:relative;padding:10px 16px;border:0;border-radius:12px;background:transparent;color:var(--color-text-secondary);font-size:.8rem;font-weight:600;cursor:pointer;transition:transform var(--transition-fast),color var(--transition-fast),background var(--transition-fast),box-shadow var(--transition-fast)}.directory-tab:after{position:absolute;inset:auto 10px 6px;height:2px;border-radius:var(--radius-full);background:var(--color-primary);content:"";transform:scaleX(0);transition:transform var(--transition-normal)}.directory-tab:hover{transform:translateY(-1px);color:var(--color-primary);background:#eaf4ffe0}.directory-tab.active{transform:translateY(-1px);color:var(--color-primary);background:linear-gradient(180deg,#eaf4fff2,#fffffff5);box-shadow:0 8px 18px #4f8ff71f}.directory-tab.active:after{transform:scaleX(1)}.directory-subtabs{display:flex;gap:var(--space-2);margin-bottom:var(--space-3);flex-wrap:wrap;padding:4px;border-radius:16px;background:#ffffffb8}.directory-subtab{padding:7px var(--space-3);border:0;border-radius:var(--radius-full);background:transparent;color:var(--color-text-secondary);font-size:.75rem;font-weight:600;cursor:pointer;transition:transform var(--transition-fast),background var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast)}.directory-subtab:hover{transform:translateY(-1px);background:#eaf4ffe0;color:var(--color-primary)}.directory-subtab.active{transform:translateY(-1px);background:linear-gradient(180deg,#5d9cff,#4f8ff7);color:var(--color-surface);box-shadow:0 8px 16px #4f8ff733}@keyframes add-member-panel-scale-in{0%{opacity:0;transform:scale(.985)}to{opacity:1;transform:scale(1)}}.directory-table-card{overflow:hidden;border:0;border-radius:22px;background:var(--color-surface);box-shadow:var(--shadow-sm),var(--shadow-lg)}.directory-table-scroll{max-height:calc(100vh - 270px);overflow:auto}.directory-table{width:100%;border-collapse:collapse}.directory-table th{position:sticky;z-index:2;top:0;height:46px;padding:0 var(--space-4);border-bottom:2px solid var(--color-border);background:var(--color-primary-bg);color:var(--color-text-secondary);font-size:.72rem;font-weight:700;letter-spacing:.04em;text-align:left;text-transform:uppercase;white-space:nowrap;box-shadow:0 1px #00000008}.directory-table td{padding:0 var(--space-4);border-bottom:1px solid var(--color-border-light);color:var(--color-text);font-size:.8125rem}.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 tbody tr:hover{background:var(--color-row-hover)}.directory-table-row{height:58px;cursor:pointer;transition:background var(--transition-fast),box-shadow var(--transition-fast)}.directory-table .directory-table-row:hover{background:var(--color-primary-bg);box-shadow:inset 3px 0 0 var(--color-primary)}.directory-table--compact th{height:42px;padding:0 12px;font-size:.7rem}.directory-table--compact td{padding:0 12px;font-size:.78rem}.directory-table--compact tbody tr,.directory-table--compact .directory-table-row{height:52px}.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:.8125rem;text-overflow:ellipsis;white-space:nowrap}.directory-person{display:flex;align-items:center;gap:var(--space-3)}.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:.875rem;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:.7rem;font-weight:600}.directory-status-badge.is-positive{background:color-mix(in srgb,var(--color-success) 22%,var(--color-surface));color:var(--color-success)}.directory-status-badge.is-negative{background:var(--color-border-light);color:var(--color-text-secondary)}.directory-status-badge.is-progress{background:var(--color-primary-bg);color:var(--color-primary)}.directory-table-limit{padding:var(--space-2) var(--space-4);color:var(--color-text-muted);font-size:.75rem}.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)}.directory-pagination{display:flex;align-items:center;gap:var(--space-2)}.directory-pagination__btn{min-width:84px}.directory-card-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border-light);background:var(--color-surface)}.directory-card-header small{display:block;margin-bottom:2px;color:var(--color-primary-light);font-size:.64rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.directory-card-header h3{color:var(--color-text);font-family:"Noto Serif TC",serif;font-size:.95rem;font-weight:600}.roster-family-table.directory-table-card{border:0;border-radius:22px;background:var(--color-surface)}.roster-family-table>.directory-card-header{padding:var(--space-4) var(--space-5);border-bottom-color:var(--color-border-light);background:var(--color-surface)}.roster-family-table .directory-table-scroll{max-height:320px}.roster-family-person{width:100%;padding:0}.roster-family-person .directory-avatar img{width:100%;height:100%;border-radius:var(--radius-full)}.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)}.visit-records-page{display:flex;min-height:0;flex-direction:column}.visit-records-page .directory-header{flex:0 0 auto}.visit-records-page .directory-eyebrow{color:var(--color-primary-light)}.visit-records-page .schema-record-table{min-height:0}.visit-records-page .schema-record-table .directory-table-scroll{max-height:calc(100vh - 260px)}.action-log-page{max-width:1000px}.action-log-card{border:0;border-radius:22px;box-shadow:var(--shadow-sm),var(--shadow-lg)}.household-kpi-panel{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)}.household-kpi-panel h2{margin:var(--space-1) 0;color:var(--color-text);font-family:var(--font-display)}.household-kpi-panel p{color:var(--color-text-muted);font-size:.8rem}.household-kpi-search{display:flex;gap:var(--space-2);margin-top:var(--space-4)}.household-kpi-search input{width:min(260px,100%);padding:9px var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-full);background:var(--color-surface);color:var(--color-text)}.household-kpi-search input:focus{outline:0;border-color:var(--color-primary);box-shadow:0 0 0 4px var(--color-primary-bg)}.household-kpi-results{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:var(--space-2);margin-top:var(--space-4)}.household-kpi-results>div{display:flex;min-height:82px;align-items:center;justify-content:center;flex-direction:column;padding:var(--space-3);border-radius:var(--radius-lg);background:var(--color-primary-bg);text-align:center}.household-kpi-results strong{color:var(--color-primary);font-family:var(--font-display);font-size:1.05rem}.household-kpi-results span{margin-top:var(--space-1);color:var(--color-text-muted);font-size:.7rem}.household-kpi-empty{margin-top:var(--space-4);padding:var(--space-4);border-radius:var(--radius-lg);background:var(--color-primary-bg);color:var(--color-text-secondary);font-size:.8rem;text-align:center}@media (max-width: 900px){.household-kpi-results{grid-template-columns:repeat(2,minmax(120px,1fr))}}@media (max-width: 560px){.household-kpi-search{align-items:stretch;flex-direction:column}.household-kpi-search input{width:100%}.household-kpi-results{grid-template-columns:1fr}}.design-modal-overlay{position:fixed;z-index:1400;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:var(--space-5);background:color-mix(in srgb,var(--color-text) 38%,transparent);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.design-modal-surface{width:min(620px,94vw);max-height:88vh;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 h3{color:var(--color-text);font-family:var(--font-display);font-weight:600}.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__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{0%{filter:blur(10px);opacity:0;transform:rotate(-140deg) scale(.35)}65%{filter:blur(0);opacity:1;transform:rotate(12deg) scale(1.14)}to{filter:blur(0);opacity:1;transform:rotate(0) scale(1)}}@media (prefers-reduced-motion: reduce){.splash-overlay,.splash-card{animation:none}}.filter-editor-modal .modal-actions{display:flex;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-4)}.directory-table th,.directory-table td,.directory-person-cell,.directory-data-cell{padding-inline:10px}.directory-person{gap:8px}.password-prompt-inline{position:static;inset:auto;display:block;padding:0;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;text-align:left}.password-prompt-inline .modal-box{max-width:none!important;box-shadow:none}.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}.photo-crop-modal{z-index:9999}.photo-crop-modal__surface{width:min(960px,92vw);padding:var(--space-5)}.photo-crop-modal__surface h3{margin:0 0 var(--space-3);font-size:1rem}.photo-crop-modal__workspace{position:relative;display:inline-block;width:100%;overflow:hidden;border-radius:var(--radius-lg);background:var(--color-bg);cursor:crosshair}.photo-crop-modal__image{display:block;width:100%;max-height:66vh;border-radius:var(--radius-lg);object-fit:contain;-webkit-user-select:none;user-select:none}.photo-crop-modal__selection{border:2px dashed var(--color-primary);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--color-primary) 14%,transparent);box-shadow:0 0 0 9999px color-mix(in srgb,var(--color-text) 28%,transparent);pointer-events:none}.photo-crop-modal__meta{margin:var(--space-2) 0 0;color:var(--color-text-muted);font-size:.8rem}.photo-crop-modal__actions{display:flex;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-4)}.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 .member-edit-modal__topbar{min-height:76px;padding-inline:clamp(20px,5vw,72px);border-bottom-color:var(--color-border-light);box-shadow:var(--shadow-sm)}.member-edit-modal__eyebrow{color:var(--color-primary-light);letter-spacing:.2em;text-transform:uppercase}.member-edit-modal__topbar h2{color:var(--color-text);font-family:var(--font-display);font-size:1.3rem;font-weight:600}.member-edit-modal__close{border-color:var(--color-border);background:var(--color-surface);color:var(--color-text-secondary);transition:all var(--transition-fast)}.member-edit-modal__close:hover{border-color:var(--color-primary-light);background:var(--color-primary-bg);color:var(--color-primary)}.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__profile .form-name-input{color:var(--color-text);font-family:var(--font-display);font-weight:600}.member-edit-modal__profile .form-id-badge{border:1px solid var(--color-border-light);border-radius:var(--radius-full);background:var(--color-primary-bg)}.member-edit-modal__tabs{gap:var(--space-2);background:color-mix(in srgb,var(--color-bg) 92%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.member-edit-modal__tabs .form-tab-btn{padding:7px var(--space-4);border-radius:var(--radius-full);background:var(--color-border-light);color:var(--color-text-secondary)}.member-edit-modal__tabs .form-tab-btn.active{background:var(--color-primary);color:var(--color-surface);box-shadow:0 4px 10px color-mix(in srgb,var(--color-primary) 25%,transparent)}.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__content .form-section-card-header h3,.member-edit-modal .family-card__header h3{color:var(--color-text);font-family:var(--font-display);font-weight:600}.member-edit-modal__content .form-section-grid{padding:var(--space-5)}.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 .family-card__header{background:var(--color-primary-bg)}.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);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.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)}.action-log-page>.page-header-block>.bead-divider{margin-bottom:var(--space-2)}.action-log-tabs{margin-bottom:var(--space-4)}.action-log-tabs__inner{display:flex}.action-log-tab{position:relative;flex:1;padding:var(--space-4);color:var(--color-text-secondary);font-size:.92rem;font-weight:600;text-align:center;cursor:pointer;transition:color var(--transition-fast),background var(--transition-fast)}.action-log-tab:after{position:absolute;right:var(--space-5);bottom:0;left:var(--space-5);height:2.5px;border-radius:var(--radius-full);background:var(--color-primary);content:"";transform:scaleX(0);transition:transform var(--transition-normal)}.action-log-tab:hover,.action-log-tab.active{background:var(--color-primary-bg);color:var(--color-primary)}.action-log-tab.active:after{transform:scaleX(1)}.action-log-tab>div{margin-top:2px;color:var(--color-text-muted);font-size:.7rem;font-weight:400}.action-log-card:not(.action-log-tabs){padding:var(--space-5)}.action-log-toolbar{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-4);flex-wrap:wrap}.action-log-control{min-width:180px;padding:8px var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-full);background:var(--color-surface);color:var(--color-text);font-size:.82rem}.action-log-control--wide{width:230px}.action-log-control:focus{outline:0;border-color:var(--color-primary);box-shadow:0 0 0 4px var(--color-primary-bg)}.action-log-count{margin-bottom:var(--space-3);color:var(--color-text-muted);font-size:.78rem}.action-log-state{padding:var(--space-8);color:var(--color-text-muted);text-align:center}.action-log-entry{margin-bottom:var(--space-2);padding:var(--space-4);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);background:var(--color-primary-bg);font-size:.84rem;transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.action-log-entry:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.action-log-entry__head{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);flex-wrap:wrap}.action-log-time,.activity-log-time{color:var(--color-text-muted);font-family:monospace;font-size:.72rem}.action-log-badge,.action-log-actor,.activity-log-event{display:inline-flex;align-items:center;min-height:24px;padding:2px 10px;border-radius:var(--radius-full);font-size:.72rem;font-weight:600}.action-log-badge{color:var(--color-surface)}.action-log-actor{gap:4px;border:1px solid var(--color-border-light);background:var(--color-surface);color:var(--color-text-secondary)}.action-log-target,.action-log-diff__field,.activity-log-user{color:var(--color-text);font-weight:600}.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}.form-tabs.tabs-sliding .tabs-sliding__indicator,.add-member-tabbar.tabs-sliding .tabs-sliding__indicator{background:#ffc2c2;box-shadow:0 8px 18px #0000001a}.form-tabs.tabs-sliding .form-tab-btn.active,.member-edit-modal__tabs.tabs-sliding .form-tab-btn.active,.add-member-tabbar.tabs-sliding .add-member-tabbar__button.is-active{transform:none;border-color:transparent;background:transparent;box-shadow:none;color:var(--color-text-secondary)}.form-tabs.tabs-sliding .form-tab-btn:hover,.add-member-tabbar.tabs-sliding .add-member-tabbar__button:hover{color:var(--color-text-secondary)}.directory-tabs.tabs-sliding .tabs-sliding__indicator{background:#ffc2c2;box-shadow:0 8px 16px #0000001a}.directory-tabs.tabs-sliding .directory-tab.active,.directory-tabs.tabs-sliding .directory-tab.active:after{transform:none;background:transparent;box-shadow:none;color:var(--color-text-secondary)}.directory-tabs.tabs-sliding .directory-tab:hover{color:var(--color-text-secondary)}.directory-subtabs.tabs-sliding .tabs-sliding__indicator{background:#ffc2c2;box-shadow:0 6px 14px #00000017}.directory-subtabs.tabs-sliding .directory-subtab.active{transform:none;background:transparent;box-shadow:none;color:var(--color-text-secondary)}.directory-subtabs.tabs-sliding .directory-subtab:hover{color:var(--color-text-secondary)}.schema-editor-tabs.tabs-sliding .tabs-sliding__indicator{background:#ffc2c2;box-shadow:inset 0 -2px #0000003d}.schema-editor-tabs.tabs-sliding .schema-editor-tab.active{border-bottom-color:transparent;color:var(--color-text-secondary)}.action-log-tabs__inner.tabs-sliding .tabs-sliding__indicator{background:#ffc2c2}.action-log-tabs__inner.tabs-sliding .action-log-tab.active,.action-log-tabs__inner.tabs-sliding .action-log-tab:hover{color:var(--color-text-secondary)}.action-log-tabs__inner.tabs-sliding .action-log-tab.active:after{transform:scaleX(0)}.action-log-note{margin-bottom:var(--space-2);padding:6px 10px;border:1px solid var(--color-border-light);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-secondary);font-size:.76rem}.action-log-diffs{display:flex;gap:6px;margin-top:var(--space-1);flex-wrap:wrap}.action-log-diff{display:flex;align-items:center;gap:6px;padding:5px 10px;border:1px solid var(--color-border-light);border-radius:var(--radius-full);background:var(--color-surface);font-size:.76rem}.action-log-diff__old{color:var(--color-danger);text-decoration:line-through}.action-log-diff__arrow{color:var(--color-text-muted)}.action-log-diff__new{color:var(--color-success);font-weight:600}.activity-log-group{margin-bottom:var(--space-5)}.activity-log-day{margin-bottom:var(--space-2);color:var(--color-text-muted);font-family:var(--font-display);font-size:.78rem;font-weight:600}.activity-log-entry{display:flex;align-items:center;gap:var(--space-2);margin-bottom:5px;padding:10px var(--space-3);border:1px solid var(--color-border-light);border-radius:var(--radius-md);background:var(--color-surface);flex-wrap:wrap;transition:background var(--transition-fast)}.activity-log-entry:hover{background:var(--color-primary-bg)}.activity-log-time{min-width:55px}.activity-log-user{min-width:60px}.activity-log-page,.activity-log-detail{color:var(--color-text-muted);font-size:.76rem}.activity-log-target{color:var(--color-text-secondary);font-size:.76rem}.activity-log-detail{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity-log-duration{color:var(--color-text-muted);font-size:.7rem}.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%}.directory-tabs{max-width:100%;overflow-x:auto}.directory-tab{flex:0 0 auto}}.roster-save-filter-modal{width:min(460px,92vw)}.roster-save-filter-modal>h3{margin:0}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,.member-edit-modal.design-modal{background-color:var(--color-bg);background-image:radial-gradient(color-mix(in srgb,var(--color-primary) 10%,transparent) .7px,transparent .7px);background-size:22px 22px}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 #65303814}.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:#fffdfceb;box-shadow:0 1px 12px #53303409;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.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}.roster-jesus-watermark,.add-member-marie-watermark,.member-edit-workspace__art{filter:var(--religious-art-filter)}.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,.settings-card,.panel,.table-wrap{border-color:var(--color-border);background:#fffdfcf0;box-shadow:var(--shadow-card)}.directory-title,.page-title,.settings-card-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{min-height:42px;height:auto;padding:0 18px;border-radius:12px;background:#ffffffd1;color:var(--color-primary-hover);font-weight:500}.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);background: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:34px;padding-inline:12px;border-radius:10px}.btn-icon{width:42px;padding:0}.form-input,.form-control,.auth-input,.action-log-control,.roster-filter-control,.input-sm,.directory-search__input{min-height:44px;border-color:var(--color-border);border-radius:12px;background:#ffffffe0;color:var(--color-text)}.form-input:focus,.form-control:focus,.auth-input:focus,.action-log-control:focus,.roster-filter-control:focus,.input-sm:focus,.directory-search__input:focus{outline:0;border-color:var(--color-primary-light);box-shadow:0 0 0 4px color-mix(in srgb,var(--color-primary) 13%,transparent)}.table-wrap,.directory-table-card{border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}th,.directory-table th{height:44px;border-bottom-color:var(--color-border);background:#fcf5f4;color:var(--color-text-secondary);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:var(--color-primary-bg)}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:#e8f3e9;color:#4f8259}.badge-warning{background:#f8eddc;color:#9a7135}.badge-danger,.badge-info,.directory-status-badge.is-progress{background:#fbe6e9;color:#b54f5d}.directory-tabs{padding:0;border-width:0 0 1px;border-radius:0;background:transparent}.directory-tab{min-height:44px;border-radius:0}.directory-tab:hover,.directory-tab.active{transform:none;background:transparent;box-shadow:none;color:var(--color-primary-hover)}.directory-subtabs{width:fit-content;padding:4px;border:1px solid var(--color-border-light);border-radius:14px;background:#fffdfce6}.directory-subtab{border-radius:10px}.directory-subtab:hover,.directory-subtab.active{transform:none;background:var(--color-primary-bg);box-shadow:none;color:var(--color-primary-hover)}.btn-danger:hover{background:color-mix(in srgb,var(--color-danger) 86%,#000);border-color:color-mix(in srgb,var(--color-danger) 86%,#000)}.settings-card-title,.system-paths-page__header>div>span,.member-family-person strong,.record-page-header h1,.record-name strong{color:var(--color-primary-hover)}.input-sm,.table-wrap,.member-edit-modal__topbar,.member-edit-modal__close,.member-edit-modal__footer,.form-section-card,.form-input{border-color:var(--color-border)}.system-path-field>input:focus,.form-input:focus,.member-edit-family-row:focus-visible,.family-member--clickable:focus-visible{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)}.form-avatar,.member-profile-avatar,.member-profile-badges span,.member-reference-avatar,.family-member__avatar,.badge-admin{background:var(--color-primary-bg);color:var(--color-primary-hover)}.form-id-badge .new-badge,.form-tab-btn.active{background:var(--color-primary)}.form-tab-btn{background:var(--color-primary-bg);color:var(--color-text-secondary)}.form-tab-btn:hover{background:var(--color-primary-bg);color:var(--color-primary-hover)}.form-tab-btn.active{color:#fff}.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}.member-detail-tabs button.active,.member-detail-tabs button.active:after{color:var(--color-primary-hover);background:var(--color-primary)}.design-modal-surface .btn-primary,.design-modal-surface button.btn-primary,.member-edit-modal__tabs .form-tab-btn.active{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,.member-edit-modal__tabs .form-tab-btn.active: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}.member-edit-modal__close:hover{border-color:var(--color-primary-light)!important;background:var(--color-primary-bg)!important;color:var(--color-primary-hover)!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}}.content-area>.religious-watermark{top:0;right:0;bottom:0;left:0;width:100%;height:100%;max-height:none;object-fit:cover;object-position:center right;opacity:1}@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}.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)}.ui-badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:2px var(--space-2);border-radius:var(--radius-full);font:var(--text-small);font-weight:600;white-space:nowrap}.ui-badge__dot{font-size:.7em;line-height:1}.ui-badge--ready,.ui-badge--connected{background:color-mix(in srgb,var(--color-success) 13%,var(--color-surface));color:var(--color-success)}.ui-badge--pending{background:var(--color-border-light);color:var(--color-text-muted)}.ui-badge--missing{background:color-mix(in srgb,var(--color-warning) 15%,var(--color-surface));color:var(--color-warning)}.ui-badge--error{background:var(--color-danger-light);color:var(--color-danger)}.ui-dot{width:7px;height:7px;border-radius:50%;display:inline-block;flex-shrink:0}.ui-dot--ready,.ui-dot--connected{background:var(--color-success)}.ui-dot--pending{background:var(--color-text-muted);opacity:.55}.ui-dot--missing{background:var(--color-warning)}.ui-dot--error{background:var(--color-danger)}.ui-info{position:relative;display:inline-flex}.ui-info__trigger{display:inline-flex;padding:2px;border:0;background:none;color:var(--color-text-muted);cursor:pointer;border-radius:var(--radius-full)}.ui-info__trigger:hover{color:var(--color-primary)}.ui-info__trigger:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.ui-info__panel{position:absolute;top:calc(100% + var(--space-2));left:0;z-index:20;width:max-content;max-width:320px;padding:var(--space-3) var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-floating);font:var(--text-caption);color:var(--color-text-secondary)}.setting-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-card)}.setting-card__head{margin-bottom:var(--space-4)}.setting-card__title{display:flex;align-items:center;gap:var(--space-2)}.setting-card__title h3{font:var(--text-subtitle);color:var(--color-text);margin:0}.setting-card__desc{margin:var(--space-1) 0 0;font:var(--text-caption);color:var(--color-text-secondary)}.setting-card__body{display:flex;flex-direction:column;gap:var(--space-4)}.setting-card__actions{display:flex;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border-light)}.field-row{display:flex;flex-direction:column;gap:var(--space-2)}.field-row__label{font:var(--text-caption);font-weight:600;color:var(--color-text)}.field-row__control{display:flex;gap:var(--space-2);align-items:center}.field-row__control>input,.field-row__control>select{flex:1;min-width:0}.field-row__hint{margin:0;font:var(--text-small);color:var(--color-text-muted)}.field-row__error{margin:0;font:var(--text-small);color:var(--color-danger)}.field-row.is-invalid .field-row__control>input{border-color:var(--color-danger)}.summary-card{background:var(--color-primary-bg);border:1px solid var(--color-primary-light);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-5)}.summary-card__title{margin:0 0 var(--space-3);font:var(--text-caption);font-weight:700;color:var(--color-text-secondary)}.summary-card__list{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-2)}.summary-card__row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.summary-card__label{font:var(--text-body);color:var(--color-text)}.advanced-section{border-top:1px solid var(--color-border-light);padding-top:var(--space-4)}.advanced-section__summary{display:flex;align-items:center;gap:var(--space-2);cursor:pointer;list-style:none;font:var(--text-body);font-weight:600;color:var(--color-text-secondary);-webkit-user-select:none;user-select:none}.advanced-section__summary::-webkit-details-marker{display:none}.advanced-section__summary:hover{color:var(--color-text)}.advanced-section__chevron{transition:transform var(--transition-fast);flex-shrink:0}.advanced-section[open] .advanced-section__chevron{transform:rotate(90deg)}.advanced-section__hint{font:var(--text-small);font-weight:400;color:var(--color-text-muted)}.advanced-section__body{display:flex;flex-direction:column;gap:var(--space-4);padding-top:var(--space-4)}@media (prefers-reduced-motion: reduce){.advanced-section__chevron{transition:none}}.danger-zone{border:1px solid var(--color-danger);border-radius:var(--radius-lg);background:var(--color-danger-light);padding:var(--space-5)}.danger-zone__head{display:flex;align-items:center;gap:var(--space-2);color:var(--color-danger);margin-bottom:var(--space-4)}.danger-zone__head h2{font:var(--text-subtitle);margin:0}.danger-zone__body{display:flex;flex-direction:column;gap:var(--space-3)}.danger-card{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.danger-card__text h3{font:var(--text-body);font-weight:600;margin:0;color:var(--color-text)}.danger-card__text p{margin:var(--space-1) 0 0;font:var(--text-small);color:var(--color-text-secondary)}.danger-card__action{flex-shrink:0}.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)}.confirm-dialog::backdrop{background:#3c303161;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.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)}.settings-shell{display:grid;grid-template-columns:var(--settings-nav-width) minmax(0,1fr);gap:var(--space-6);align-items:start}.settings-shell__nav{position:sticky;top:var(--space-4)}.settings-shell__main{display:flex;flex-direction:column;gap:var(--space-5);min-width:0}.settings-shell__content{display:flex;flex-direction:column;gap:var(--space-5)}.settings-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:var(--space-5)}.settings-page-header h1{margin:0;font:var(--text-subtitle);font-size:1.35rem;color:var(--color-text)}.settings-page-header p{margin:var(--space-1) 0 0;font:var(--text-caption);color:var(--color-text-secondary)}.settings-nav{display:flex;flex-direction:column;gap:var(--space-5)}.settings-nav__group-label{margin:0 0 var(--space-2);padding-inline:var(--space-3);font:var(--text-small);font-weight:700;letter-spacing:.06em;color:var(--color-text-muted)}.settings-nav__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.settings-nav__item{display:flex;align-items:center;gap:var(--space-2);width:100%;min-height:36px;padding:0 var(--space-3);border:0;background:transparent;border-radius:var(--radius-full);cursor:pointer;font:var(--text-body);color:var(--color-text-secondary);text-align:left;transition:background var(--transition-fast),color var(--transition-fast)}.settings-nav__item:hover{background:var(--color-primary-bg);color:var(--color-text)}.settings-nav__item:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.settings-nav__item.is-active{background:var(--color-primary-bg);color:var(--color-primary);font-weight:600}.settings-nav__icon{flex-shrink:0}.settings-nav__label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sticky-save-bar{position:sticky;bottom:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--color-surface) 92%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--shadow-floating)}.sticky-save-bar__hint{font:var(--text-caption);color:var(--color-warning);font-weight:600}.sticky-save-bar__actions{display:flex;gap:var(--space-2)}@media (max-width: 900px){.settings-shell{grid-template-columns:1fr}.settings-shell__nav{position:static}.settings-nav{flex-direction:row;gap:var(--space-4);overflow-x:auto;padding-bottom:var(--space-2)}.settings-nav__group{flex-shrink:0}.settings-nav__list{flex-direction:row}}
