*,:before,:after{box-sizing:border-box}:root{--bg-primary:#0a0a1a;--bg-secondary:#ffffff08;--bg-card-male:linear-gradient(160deg, #0f172a 0%, #1e3a5f 50%, #1e40af22 100%);--bg-card-female:linear-gradient(160deg, #1a0a2e 0%, #3b1261 50%, #ec489922 100%);--border:#ffffff0f;--border-hover:#ffffff26;--text-primary:#e2e8f0;--text-secondary:#94a3b8;--text-muted:#64748b}[data-theme=light]{--bg-primary:#f8fafc;--bg-secondary:#00000005;--bg-card-male:linear-gradient(160deg, #eff6ff 0%, #dbeafe 50%, #bfdbfe22 100%);--bg-card-female:linear-gradient(160deg, #fdf4ff 0%, #f5d0fe 50%, #e879f922 100%);--border:#00000014;--border-hover:#00000026;--text-primary:#1e293b;--text-secondary:#475569;--text-muted:#94a3b8}body{background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;height:100vh;margin:0;overflow:hidden}html{height:100vh}::selection{color:#f8fafc;background:#6366f14d}*{box-sizing:border-box}.app{background:var(--bg-primary);height:100vh;color:var(--text-primary);background-image:radial-gradient(at 20%,#3b82f60f 0%,#0000 50%),radial-gradient(at 80% 20%,#a855f70f 0%,#0000 50%),radial-gradient(at 50% 80%,#ec48990a 0%,#0000 50%);flex-direction:column;padding:1rem 1.5rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans TC,sans-serif;display:flex;overflow:hidden}.app-header{flex-shrink:0;margin-bottom:.5rem}.header-content{border-bottom:1px solid var(--border);flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:.5rem;padding:.5rem 0;display:flex}.app-header h1{letter-spacing:.03em;background:linear-gradient(135deg,#fbbf24,#f59e0b);-webkit-text-fill-color:transparent;text-align:center;white-space:nowrap;text-overflow:ellipsis;-webkit-background-clip:text;background-clip:text;flex:1;margin:0;font-size:1.15rem;overflow:hidden}.header-count{-webkit-text-fill-color:#64748b;font-size:.65rem}.hamburger{cursor:pointer;background:0 0;border:none;flex-direction:column;flex-shrink:0;gap:4px;padding:6px;display:flex}.hamburger span{background:#e2e8f0;border-radius:1px;width:22px;height:2px;transition:all .2s;display:block}.hamburger:hover span{background:#fbbf24}.drawer-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:200;background:#00000080;animation:.15s fadeIn;position:fixed;inset:0}.drawer{z-index:201;background:linear-gradient(#1a2332,#0f172a);border-right:1px solid #ffffff14;flex-direction:column;width:280px;max-width:80vw;animation:.2s slideDrawerLeft;display:flex;position:fixed;top:0;bottom:0;left:0;box-shadow:8px 0 30px #0006}@keyframes slideDrawerLeft{0%{transform:translate(-100%)}to{transform:translate(0)}}.drawer-header{border-bottom:1px solid #ffffff0f;justify-content:space-between;align-items:center;padding:1.2rem 1rem;display:flex}.drawer-user{align-items:center;gap:.6rem;display:flex}.drawer-avatar{font-size:1.5rem}.drawer-name{color:#f1f5f9;font-size:.9rem;font-weight:600}.drawer-role{color:#64748b;font-size:.68rem}.drawer-close{color:#94a3b8;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;justify-content:center;align-items:center;width:30px;height:30px;font-size:.9rem;display:flex}.drawer-body{flex:1;padding:.8rem .5rem;overflow-y:auto}.drawer-footer{border-top:1px solid #ffffff0f;padding:.5rem}.drawer-item{color:#e2e8f0;cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:.7rem;width:100%;padding:.7rem .8rem;font-size:.85rem;transition:background .1s;display:flex}.drawer-item:hover:not(:disabled){background:#ffffff0d}.drawer-item:disabled{opacity:.35;cursor:not-allowed}.drawer-icon{text-align:center;width:24px;font-size:1rem}.drawer-logout{color:#f87171}.drawer-lang-row{justify-content:center}.drawer-toggle .drawer-toggle-label{flex:1}.toggle-switch{background:#ffffff26;border-radius:11px;flex-shrink:0;width:38px;height:22px;transition:background .2s;position:relative}.toggle-switch.on{background:#34d399}.toggle-knob{background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .2s;position:absolute;top:2px;left:2px}.toggle-switch.on .toggle-knob{transform:translate(16px)}.app.hide-spouse .couple-spouses,.app.hide-spouse .marriage-link{display:none}.org-chart-container{background:var(--bg-secondary);border:1px solid var(--border);border-radius:20px;flex-direction:column;flex:1;padding:1rem 1.5rem;display:flex;overflow:hidden}.org-chart-wrapper{flex-direction:column;align-items:center;gap:3rem;width:fit-content;min-width:max-content;min-height:max-content;padding:2rem;display:flex}.empty-state{text-align:center;padding:5rem 2rem}.empty-icon{margin-bottom:1rem;font-size:3rem}.empty-state h3{color:#f1f5f9;margin:0 0 .5rem;font-size:1.3rem}.empty-state p{color:#64748b;margin-bottom:1.5rem}.chart-footer{text-align:center;border-top:1px solid #ffffff0d;margin-top:2rem;padding-top:1.5rem}.btn-primary,.btn-add-root{color:#fff;cursor:pointer;background:linear-gradient(135deg,#3b82f6,#8b5cf6);border:none;border-radius:10px;padding:.65rem 1.5rem;font-size:.9rem;font-weight:500;transition:all .2s}.btn-primary:hover,.btn-add-root:hover{transform:translateY(-2px);box-shadow:0 6px 20px #3b82f659}.org-card{text-align:center;cursor:default;border-radius:14px;min-width:180px;max-width:260px;padding:1rem 1.3rem .8rem;transition:box-shadow .2s,border-color .2s;display:inline-block;position:relative}.male-card{background:linear-gradient(160deg,#0f172a 0%,#1e3a5f 50%,#1e40af22 100%);border:1px solid #3b82f633;box-shadow:0 4px 16px #0006,inset 0 1px #ffffff0d}.male-card:hover{border-color:#3b82f680;box-shadow:0 8px 32px #3b82f633,0 0 0 1px #3b82f626}.female-card{background:linear-gradient(160deg,#1a0a2e 0%,#3b1261 50%,#ec489922 100%);border:1px solid #a855f733;box-shadow:0 4px 16px #0006,inset 0 1px #ffffff0d}.female-card:hover{border-color:#a855f780;box-shadow:0 8px 32px #a855f733,0 0 0 1px #a855f726}.couple-group{justify-content:center;align-items:center;display:inline-flex}.marriage-link{background:#f472b673;flex-shrink:0;width:34px;height:2px;position:relative}.marriage-link:after{content:"💍";font-size:.9rem;line-height:1;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.couple-spouses{flex-direction:column;flex-shrink:0;gap:.5rem;display:flex}.spouse-card{background:linear-gradient(160deg,#2a0f2e 0%,#4a1449 55%,#ec489922 100%);border:1px dashed #f472b666;border-radius:14px;flex-direction:column;align-items:center;gap:.15rem;min-width:96px;max-width:150px;padding:.7rem .9rem;display:flex;box-shadow:0 4px 16px #00000059}.spouse-ring{font-size:1.3rem;line-height:1}.spouse-card-name{color:#f9a8d4;text-align:center;font-size:.92rem;font-weight:700}.spouse-card-label{color:#c084b8;letter-spacing:.05em;font-size:.6rem}.org-card-tags{flex-wrap:wrap;justify-content:center;gap:.3rem;margin-bottom:.3rem;display:flex}.generation-badge{color:#fbbf24;background:#fbbf2426;border:1px solid #fbbf2459;border-radius:6px;padding:.12rem .45rem;font-size:.62rem;font-weight:600}.branch-badge{white-space:nowrap;letter-spacing:.02em;border:1.5px solid;border-radius:6px;padding:.12rem .5rem;font-size:.62rem;font-weight:700}.org-card-avatar{margin-bottom:.15rem;font-size:1.5rem;line-height:1}.org-card-name{color:#f8fafc;letter-spacing:.03em;margin-bottom:.25rem;font-size:1rem;font-weight:700}.org-card-spouse{color:#fbbf24;margin-bottom:.2rem;font-size:.8rem}.org-card-location{color:#34d399;margin-bottom:.15rem;font-size:.72rem}.org-card-remark{color:#94a3b8b3;text-overflow:ellipsis;max-height:2.8em;font-size:.72rem;line-height:1.4;overflow:hidden}.children-count{color:#64748b;margin-top:.3rem;font-size:.6rem}.org-card-toolbar{opacity:.5;justify-content:center;gap:.3rem;margin-top:.5rem;transition:opacity .15s;display:flex}.org-card:hover .org-card-toolbar{opacity:1}.toolbar-btn{cursor:pointer;color:#94a3b8;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:8px;align-items:center;gap:.2rem;padding:.25rem .5rem;font-size:.7rem;transition:all .15s;display:flex}.toolbar-btn:hover{color:#f1f5f9;background:#ffffff1f;border-color:#fff3}.btn-icon{font-size:.8rem}.btn-label{font-size:.65rem}.btn-add-child{color:#34d399!important;border-color:#34d39933!important}.btn-add-child:hover{box-shadow:0 0 8px #34d39933;background:#34d3991f!important;border-color:#34d39966!important}.btn-del:hover{color:#ef4444!important;background:#ef44441f!important;border-color:#ef44444d!important}.toggle-children{color:#94a3b8;cursor:pointer;white-space:nowrap;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:10px;margin:.5rem auto 0;padding:.2rem .6rem;font-size:.65rem;transition:background .15s,color .15s;display:block}.toggle-children:hover{color:#f1f5f9;background:#ffffff1f;border-color:#ffffff40}.org-card-editing{flex-direction:column;gap:.4rem;min-width:130px;display:flex}.org-card-editing input{color:#f1f5f9;background:#0006;border:1px solid #ffffff26;border-radius:8px;width:100%;padding:.4rem .6rem;font-size:.8rem;transition:border-color .15s}.org-card-editing input:focus{border-color:#667eea;outline:none;box-shadow:0 0 0 2px #667eea26}.edit-name{font-weight:600;font-size:.9rem!important}.edit-actions{justify-content:center;gap:.3rem;margin-top:.2rem;display:flex}.btn-save{color:#fff;cursor:pointer;background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:8px;padding:.35rem .8rem;font-size:.75rem;font-weight:600;transition:all .15s}.btn-save:hover{transform:translateY(-1px);box-shadow:0 3px 10px #10b9814d}.btn-cancel-sm{color:#94a3b8;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:8px;padding:.35rem .7rem;font-size:.75rem}.btn-cancel-sm:hover{color:#f1f5f9;background:#ffffff1a}.modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;background:#000000b3;justify-content:center;align-items:center;animation:.15s fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:linear-gradient(160deg,#1e293b,#0f172a);border:1px solid #ffffff1a;border-radius:20px;width:90%;max-width:400px;padding:1.8rem;animation:.2s slideUp;box-shadow:0 24px 80px #0009,inset 0 1px #ffffff0d}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.modal-header{justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;display:flex}.modal-header h3{color:#f8fafc;margin:0;font-size:1.15rem}.modal-subtitle{color:#64748b;margin-top:.2rem;font-size:.78rem;display:block}.modal-close{color:#64748b;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;padding:.3rem .6rem;font-size:1rem;transition:all .15s}.modal-close:hover{color:#f1f5f9;background:#ffffff1a}.modal-field{margin-bottom:1rem}.modal-field label{color:#64748b;margin-bottom:.4rem;font-size:.78rem;font-weight:500;display:block}.modal-field input,.modal-field select{color:#f1f5f9;background:#0000004d;border:1px solid #ffffff1a;border-radius:10px;width:100%;padding:.65rem .9rem;font-size:.9rem;transition:all .15s}.modal-field input:focus,.modal-field select:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f626}.modal-field input::placeholder{color:#475569}.modal-row{gap:.8rem;display:flex}.modal-row .modal-field{flex:1}.gender-selector{gap:.4rem;display:flex}.gender-btn{color:#94a3b8;cursor:pointer;background:#0003;border:1px solid #ffffff1a;border-radius:8px;flex:1;padding:.5rem;font-size:.85rem;transition:all .15s}.gender-btn:hover{background:#ffffff0d;border-color:#fff3}.gender-btn.active.male{color:#60a5fa;background:#3b82f626;border-color:#3b82f666}.gender-btn.active.female{color:#c084fc;background:#a855f726;border-color:#a855f766}.modal-actions{justify-content:flex-end;gap:.6rem;margin-top:1.5rem;display:flex}.btn-cancel{color:#94a3b8;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:10px;padding:.6rem 1.2rem;font-size:.85rem;transition:all .15s}.btn-cancel:hover{color:#f1f5f9;background:#ffffff14}.btn-submit{color:#fff;cursor:pointer;background:linear-gradient(135deg,#3b82f6,#8b5cf6);border:none;border-radius:10px;padding:.6rem 1.5rem;font-size:.85rem;font-weight:600;transition:all .2s}.btn-submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 16px #3b82f666}.btn-submit:disabled{opacity:.4;cursor:not-allowed}.confirm-modal{text-align:center;max-width:340px}.confirm-icon{margin-bottom:.8rem;font-size:2.5rem}.confirm-title{color:#f8fafc;margin:0 0 .5rem;font-size:1.1rem}.confirm-message{color:#94a3b8;margin:0 0 1.5rem;font-size:.85rem;line-height:1.5}.confirm-modal .modal-actions{justify-content:center}.btn-confirm{color:#fff;cursor:pointer;background:linear-gradient(135deg,#3b82f6,#8b5cf6);border:none;border-radius:10px;padding:.6rem 1.5rem;font-size:.85rem;font-weight:600;transition:all .2s}.btn-confirm:hover{transform:translateY(-1px);box-shadow:0 4px 16px #3b82f666}.btn-confirm.btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626)}.btn-confirm.btn-danger:hover{box-shadow:0 4px 16px #ef444466}.org-chart-container::-webkit-scrollbar{height:8px}.org-chart-container::-webkit-scrollbar-track{background:#ffffff05;border-radius:4px}.org-chart-container::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:4px}.org-chart-container::-webkit-scrollbar-thumb:hover{background:#fff3}@media (width<=768px){.app{padding:.75rem}.app-header h1{letter-spacing:.05em;font-size:1.3rem}.header-content{gap:.3rem}.header-stats{flex-wrap:wrap;justify-content:center;gap:.3rem}.stat{padding:.2rem .6rem;font-size:.7rem}.app-hint{font-size:.65rem}.search-input{font-size:.85rem}.view-toggle button{padding:.3rem .7rem;font-size:.72rem}.org-chart-container{border-radius:12px;padding:.75rem .5rem}.chart-toolbar{flex-direction:column;align-items:stretch;gap:.5rem}.zoom-controls{justify-content:center}.header-filters .filter-row select{padding:.25rem .35rem;font-size:.65rem}.header-actions{flex-wrap:wrap;justify-content:center}.header-export .ie-btn{height:24px;padding:0 .35rem;font-size:.6rem}.filter-row select{flex:1;min-width:80px;font-size:.72rem}.org-card{border-radius:10px;min-width:100px;max-width:150px;padding:.5rem .6rem .4rem}.org-card-avatar{font-size:1.1rem}.org-card-name{font-size:.8rem}.org-card-spouse{font-size:.65rem}.marriage-link{width:22px}.spouse-card{min-width:78px;max-width:120px;padding:.5rem .6rem}.spouse-card-name{font-size:.78rem}.spouse-ring{font-size:1rem}.org-card-location{font-size:.6rem}.org-card-remark{font-size:.58rem}.org-card-tags{gap:.2rem}.branch-badge,.generation-badge{padding:.08rem .35rem;font-size:.5rem}.org-card-toolbar{opacity:1}.toolbar-btn{padding:.3rem .4rem}.btn-label{display:none}.toggle-children{padding:.2rem .5rem;font-size:.6rem}.modal-content{border-radius:14px;width:95%;max-width:none;max-height:90vh;padding:1.2rem;overflow-y:auto}.modal-header h3{font-size:1rem}.modal-row{flex-direction:column;gap:.5rem}.detail-panel{width:100%;max-width:100%}.stats-panel{padding:1rem}.stats-grid{grid-template-columns:repeat(2,1fr);gap:.5rem}.stat-value{font-size:1.2rem}.relationship-row{flex-direction:column;gap:.4rem}.relationship-row select{width:100%}.relationship-arrow{display:none}.timeline-cards{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.timeline-gen-body{padding-left:1.2rem}.import-export{gap:.2rem}.ie-btn{height:30px;padding:0 .5rem;font-size:.7rem}.export-btn{height:30px;padding:0 .6rem;font-size:.7rem}.admin-panel{max-width:none}.admin-add-row{flex-direction:column;gap:.4rem}}@media (width<=400px){.app-header h1{font-size:1.1rem}.header-stats{gap:.2rem}.stat{padding:.15rem .4rem;font-size:.62rem}.org-card{min-width:85px;max-width:120px;padding:.4rem .5rem}.org-card-avatar{font-size:.9rem}.org-card-name{font-size:.72rem}.org-card-spouse,.org-card-location,.org-card-remark{font-size:.55rem}.marriage-link{width:14px}.spouse-card{min-width:60px;max-width:96px;padding:.35rem .4rem}.spouse-card-name{font-size:.66rem}.spouse-ring{font-size:.85rem}.spouse-card-label{font-size:.5rem}.org-card-tags{display:none}.toolbar-btn{min-width:28px;min-height:28px}.tl-card{padding:.4rem .5rem}.tl-name{font-size:.75rem}}@media (width<=320px){.app{padding:.4rem}.app-header h1{letter-spacing:0;font-size:.95rem}.header-count{font-size:.55rem}.header-content{padding:.4rem 0}.hamburger span{width:18px}.search-bar{margin-top:.3rem}.search-input{padding:.4rem .6rem;font-size:.78rem}.view-toggle{margin-top:.3rem}.view-toggle button{padding:.2rem .5rem;font-size:.62rem}.org-chart-container{border-radius:8px;padding:.3rem}.canvas-zoom-float{padding:.2rem .35rem;bottom:6px;right:6px}.canvas-zoom-float button{width:24px;height:24px;font-size:.75rem}.canvas-zoom-float span{min-width:28px;font-size:.6rem}.org-card{border-radius:8px;min-width:80px;max-width:110px;padding:.35rem .4rem}.org-card-avatar{margin-bottom:0;font-size:.8rem}.org-card-name{margin-bottom:.05rem;font-size:.65rem}.org-card-spouse{font-size:.5rem}.org-card-location{font-size:.48rem}.org-card-remark,.org-card-tags{display:none}.org-card-toolbar{gap:.1rem;margin-top:.2rem}.toolbar-btn{min-width:22px;min-height:22px;padding:.1rem}.btn-icon{font-size:.55rem}.toggle-children{padding:.1rem .3rem;font-size:.5rem}.children-count{font-size:.45rem}.modal-content{width:98%;padding:.8rem}.modal-header h3{font-size:.85rem}.modal-field input,.modal-field select,.modal-field textarea{padding:.45rem .55rem;font-size:.8rem}.detail-panel{width:100%}.detail-header{padding:1rem .8rem .6rem}.detail-avatar{font-size:1.8rem}.detail-header h2{font-size:.95rem}.detail-row{padding:.35rem 0;font-size:.72rem}.detail-body{padding:.6rem .8rem}.drawer{width:240px}.drawer-item{padding:.5rem .6rem;font-size:.75rem}.drawer-name{font-size:.78rem}.drawer-section{padding:.3rem .5rem}.drawer-section .ie-btn{height:26px;padding:0 .4rem;font-size:.62rem}.drawer-section .filter-row select{padding:.3rem .4rem;font-size:.7rem}.lang-switcher button{padding:.15rem .3rem;font-size:.6rem}.stats-grid{grid-template-columns:repeat(2,1fr);gap:.3rem}.stat-value{font-size:.95rem}.stat-label{font-size:.55rem}.timeline-cards{grid-template-columns:1fr 1fr;gap:.3rem}.tl-card{padding:.3rem .4rem}.tl-name{font-size:.62rem}.tl-info,.tl-branch,.tl-location{font-size:.48rem}.gen-label{font-size:.75rem}.timeline-gen-body{padding-left:.5rem}.timeline-header h3{font-size:.88rem}.filter-row select{padding:.25rem .35rem;font-size:.65rem}.filter-row{gap:.2rem}.ie-btn{height:26px;padding:0 .4rem;font-size:.6rem}.import-export{flex-wrap:wrap;gap:.2rem}}@media (pointer:coarse){.toolbar-btn{justify-content:center;align-items:center;min-width:28px;min-height:28px;padding:.2rem .4rem;display:flex}.toggle-children{min-height:28px;padding:.2rem .6rem}.org-card-toolbar{opacity:1;gap:.3rem;margin-top:.4rem}.modal-field input,.modal-field select,.modal-field textarea{padding:.65rem .8rem;font-size:.95rem}.gender-btn{padding:.55rem;font-size:.85rem}.btn-cancel,.btn-submit,.btn-confirm{padding:.6rem 1.2rem;font-size:.85rem}.detail-edit-btn{padding:.65rem;font-size:.85rem}}.search-bar{margin-top:.5rem;position:relative}.header-actions{-webkit-overflow-scrolling:touch;align-items:center;gap:.4rem;margin-top:.4rem;padding-bottom:2px;display:flex;overflow-x:auto}.header-actions::-webkit-scrollbar{display:none}.header-filters .filter-row{flex-wrap:nowrap;gap:.25rem}.header-filters .filter-row select{color:#cbd5e1;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff14;border-radius:6px;flex:none;min-width:0;padding:.28rem .4rem;font-size:.72rem}.header-filters .filter-row select:focus{border-color:#3b82f666;outline:none}.header-export .import-export{flex-wrap:nowrap;gap:.2rem}.header-export .ie-btn{white-space:nowrap;color:#94a3b8;background:#ffffff08;border:1px solid #ffffff0f;border-radius:6px;height:24px;padding:0 .45rem;font-size:.65rem}.header-export .ie-btn:hover{color:#e2e8f0;background:#ffffff14}@media (width>=769px){.header-actions{justify-content:center}}.search-input{color:#f1f5f9;background:#ffffff0a;border:1px solid #ffffff14;border-radius:10px;width:100%;padding:.5rem .9rem;font-size:.85rem;transition:all .15s}.search-input:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f626}.search-input::placeholder{color:#64748b}.search-results{z-index:100;background:#1e293b;border:1px solid #ffffff1a;border-radius:12px;max-height:240px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 12px 40px #00000080}.search-result-item{color:#e2e8f0;cursor:pointer;text-align:left;background:0 0;border:none;border-bottom:1px solid #ffffff0d;align-items:center;gap:.5rem;width:100%;padding:.6rem 1rem;font-size:.85rem;transition:background .1s;display:flex}.search-result-item:hover{background:#ffffff0d}.search-result-item:last-child{border-bottom:none}.result-name{font-weight:600}.result-spouse{color:#fbbf24;font-size:.75rem}.result-branch{color:#94a3b8;margin-left:auto;font-size:.7rem}.search-empty{text-align:center;color:#64748b;padding:1rem;font-size:.85rem}.org-card.highlighted{animation:.5s 3 pulse-highlight;border-color:#fbbf24!important;box-shadow:0 0 20px #fbbf2480,0 0 40px #fbbf2433!important}@keyframes pulse-highlight{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.zoom-controls{align-items:center;gap:.4rem;display:flex}.zoom-controls button{color:#e2e8f0;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:8px;justify-content:center;align-items:center;width:34px;height:34px;font-size:1rem;transition:all .15s;display:flex}.zoom-controls button:hover{background:#ffffff1f;border-color:#ffffff40}.zoom-controls span{color:#94a3b8;text-align:center;min-width:42px;font-size:.78rem}.org-chart-scroll{cursor:grab;-webkit-user-select:none;user-select:none;min-height:400px;position:relative;overflow:hidden}.org-chart-scroll:active{cursor:grabbing}.org-chart-canvas{cursor:grab;touch-action:none;flex:1;position:relative;overflow:hidden}.org-chart-canvas::-webkit-scrollbar{width:6px;height:6px}.org-chart-canvas::-webkit-scrollbar-track{background:0 0}.org-chart-canvas::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}.org-chart-canvas::-webkit-scrollbar-thumb:hover{background:#fff3}.stats-modal{width:95%;max-width:520px;max-height:80vh;overflow-y:auto}.stats-panel{padding:0}.stats-panel h3{color:#f8fafc;margin:0 0 1rem;font-size:1.1rem}.stats-panel h4{color:#94a3b8;margin:1rem 0 .5rem;font-size:.85rem}.stats-grid{grid-template-columns:repeat(4,1fr);gap:.8rem;display:grid}.stat-card{text-align:center;background:#ffffff08;border:1px solid #ffffff0f;border-radius:10px;padding:.6rem .4rem;overflow:visible}.stat-value{color:#f8fafc;white-space:nowrap;font-size:1.4rem;font-weight:700}.stat-label{color:#64748b;margin-top:.2rem;font-size:.72rem}.branch-stat{align-items:center;gap:.5rem;margin-bottom:.4rem;display:flex}.branch-name{color:#94a3b8;min-width:90px;font-size:.78rem}.branch-bar{background:#ffffff0d;border-radius:3px;flex:1;height:6px;overflow:hidden}.branch-fill{background:linear-gradient(90deg,#3b82f6,#8b5cf6);border-radius:3px;height:100%;transition:width .3s}.branch-count{color:#64748b;text-align:right;min-width:24px;font-size:.72rem}.location-tags{flex-wrap:wrap;gap:.4rem;display:flex}.location-tag{color:#34d399;background:#34d3991a;border:1px solid #34d39933;border-radius:12px;padding:.2rem .6rem;font-size:.72rem}.stat-btn{cursor:pointer;transition:all .15s;border:1px solid #ffffff14!important}.stat-btn:hover{background:#ffffff1a!important;border-color:#fff3!important}.detail-panel{z-index:500;background:linear-gradient(#1e293b,#0f172a);border-left:1px solid #ffffff14;width:320px;animation:.2s slideIn;position:fixed;top:0;bottom:0;right:0;overflow-y:auto;box-shadow:-8px 0 30px #0006}@keyframes slideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.detail-header{text-align:center;border-bottom:1px solid #ffffff0f;padding:2rem 1.5rem 1rem;position:relative}.detail-close{color:#94a3b8;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;padding:.3rem .6rem;font-size:1rem;position:absolute;top:1rem;right:1rem}.detail-close:hover{color:#f1f5f9;background:#ffffff1a}.detail-avatar{margin-bottom:.5rem;font-size:3rem}.detail-header h2{color:#f8fafc;margin:0;font-size:1.3rem}.detail-branch{color:#a5b4fc;background:#6366f126;border:1px solid #6366f14d;border-radius:12px;margin-top:.4rem;padding:.15rem .6rem;font-size:.75rem;display:inline-block}.detail-body{padding:1.2rem 1.5rem}.detail-row{border-bottom:1px solid #ffffff0a;justify-content:space-between;padding:.6rem 0;font-size:.85rem;display:flex}.detail-label{color:#64748b}.detail-row span:last-child{color:#e2e8f0;text-align:right;max-width:60%}.view-toggle{justify-content:center;gap:.2rem;margin-top:.4rem;display:flex}.view-toggle button{color:#64748b;cursor:pointer;background:#ffffff08;border:1px solid #ffffff0f;border-radius:8px;padding:.3rem .8rem;font-size:.75rem;transition:all .15s}.view-toggle button.active{color:#60a5fa;background:#3b82f61f;border-color:#3b82f64d}.view-toggle button:hover:not(.active){color:#94a3b8;background:#ffffff0d}.header-toolbar{background:#ffffff05;border:1px solid #ffffff0a;border-radius:10px;flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem;margin-top:.4rem;padding:.4rem .6rem;display:flex}.chart-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.8rem;margin-bottom:1rem;display:flex}.chart-toolbar>:last-child{margin-left:auto}.filter-panel{align-items:center;display:flex}.filter-row{flex-wrap:wrap;gap:.4rem;display:flex}.filter-row select{color:#e2e8f0;cursor:pointer;background:#0000004d;border:1px solid #ffffff1a;border-radius:8px;padding:.4rem .6rem;font-size:.78rem}.filter-row select:focus{border-color:#3b82f6;outline:none}.filter-clear{color:#ef4444;cursor:pointer;background:#ef44441a;border:1px solid #ef444433;border-radius:8px;padding:.4rem .6rem;font-size:.75rem}.export-btn{color:#34d399;cursor:pointer;white-space:nowrap;background:#34d3991a;border:1px solid #34d39940;border-radius:8px;height:34px;padding:0 .9rem;font-size:.78rem;font-weight:500;transition:all .15s}.export-btn:hover{background:#34d39933;border-color:#34d39966}.relationship-finder{padding:0}.relationship-finder h4{color:#f8fafc;margin:0 0 .8rem;font-size:1rem}.relationship-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.relationship-row select{color:#e2e8f0;background:#0000004d;border:1px solid #ffffff1a;border-radius:8px;flex:1;min-width:140px;padding:.5rem .7rem;font-size:.82rem}.relationship-arrow{color:#64748b;font-size:1.2rem}.btn-find{color:#fff;cursor:pointer;background:linear-gradient(135deg,#3b82f6,#8b5cf6);border:none;border-radius:8px;padding:.5rem 1rem;font-size:.82rem;font-weight:600}.relationship-result{color:#93c5fd;background:#3b82f614;border:1px solid #3b82f633;border-radius:8px;margin-top:.8rem;padding:.8rem;font-size:.85rem;line-height:1.4}.timeline-view{background:#ffffff04;border:1px solid #ffffff0f;border-radius:20px;flex:1;padding:2rem 1.5rem;overflow-y:auto}.timeline-view::-webkit-scrollbar{width:6px}.timeline-view::-webkit-scrollbar-track{background:0 0}.timeline-view::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}.timeline-view::-webkit-scrollbar-thumb:hover{background:#fff3}.timeline-header{text-align:center;margin-bottom:2rem}.timeline-header h3{color:#f8fafc;margin:0;font-size:1.2rem}.timeline-subtitle{color:#64748b;margin:.3rem 0 0;font-size:.8rem}.timeline-container{padding-left:1rem}.timeline-gen{margin-bottom:1.5rem}.timeline-gen-header{align-items:flex-start;gap:.8rem;margin-bottom:.8rem;display:flex}.timeline-gen-marker{flex-direction:column;align-items:center;min-width:16px;display:flex}.marker-dot{background:linear-gradient(135deg,#fbbf24,#f59e0b);border-radius:50%;flex-shrink:0;width:12px;height:12px;box-shadow:0 0 8px #fbbf2466}.marker-line{background:#fbbf2433;flex:1;width:2px;min-height:20px;margin-top:4px}.timeline-gen-title{align-items:baseline;gap:.6rem;display:flex}.gen-label{color:#fbbf24;font-size:1rem;font-weight:700}.gen-count{color:#64748b;background:#ffffff0a;border-radius:10px;padding:.1rem .5rem;font-size:.75rem}.timeline-gen-body{padding-left:2rem}.timeline-cards{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.6rem;display:grid}.tl-card{cursor:pointer;text-align:left;border:none;border-radius:10px;flex-direction:column;gap:.25rem;padding:.7rem .9rem;transition:all .2s;display:flex}.tl-male{background:#3b82f614;border:1px solid #3b82f626}.tl-female{background:#a855f714;border:1px solid #a855f726}.tl-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000004d}.tl-male:hover{background:#3b82f61f;border-color:#3b82f666}.tl-female:hover{background:#a855f71f;border-color:#a855f766}.tl-card-top{align-items:center;gap:.4rem;display:flex}.tl-avatar{font-size:1rem}.tl-name{color:#f1f5f9;font-size:.88rem;font-weight:700}.tl-info{color:#fbbf24;font-size:.72rem}.tl-branch{color:#94a3b8;font-size:.65rem}.tl-location{color:#34d399;font-size:.68rem}.tl-remark{color:#64748b;text-overflow:ellipsis;white-space:nowrap;max-width:160px;font-size:.65rem;overflow:hidden}.timeline-count{text-align:right;color:#64748b;min-width:35px;font-size:.72rem}.detail-edit-btn{color:#60a5fa;cursor:pointer;background:#3b82f61a;border:1px solid #3b82f640;border-radius:10px;width:100%;margin-top:1.5rem;padding:.65rem;font-size:.85rem;transition:all .15s}.detail-edit-btn:hover{background:#3b82f633;border-color:#3b82f666}.detail-edit-name{color:#f8fafc;text-align:center;background:#0000004d;border:1px solid #ffffff26;border-radius:8px;width:80%;margin-top:.5rem;padding:.5rem .8rem;font-size:1.2rem;font-weight:700}.detail-edit-name:focus{border-color:#3b82f6;outline:none}.detail-edit-form{flex-direction:column;gap:1rem;display:flex}.detail-edit-form label{flex-direction:column;gap:.3rem;display:flex}.detail-edit-form label>span{color:#64748b;font-size:.75rem;font-weight:500}.detail-edit-form input,.detail-edit-form textarea,.detail-edit-form select{color:#f1f5f9;background:#0000004d;border:1px solid #ffffff1a;border-radius:8px;padding:.55rem .8rem;font-size:.85rem;transition:border-color .15s}.detail-edit-form input:focus,.detail-edit-form textarea:focus,.detail-edit-form select:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 2px #3b82f626}.detail-edit-form textarea{resize:vertical;min-height:80px}.detail-edit-actions{gap:.5rem;margin-top:.5rem;display:flex}.detail-edit-actions .btn-save{flex:1;padding:.6rem;font-size:.85rem}.detail-edit-actions .btn-cancel-sm{text-align:center;flex:1;padding:.6rem;font-size:.85rem}.import-export{gap:.3rem;display:flex}.ie-btn{color:#94a3b8;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:8px;align-items:center;gap:.3rem;height:34px;padding:0 .8rem;font-size:.75rem;transition:all .15s;display:flex}.ie-btn:hover{color:#f1f5f9;background:#ffffff1a;border-color:#fff3}.stat-btn:disabled{opacity:.3;cursor:not-allowed}.login-page{background-color:#0a0a1a;background-image:radial-gradient(at 30%,#3b82f614 0%,#0000 50%),radial-gradient(at 70% 30%,#a855f714 0%,#0000 50%);background-position:0 0;background-repeat:repeat;background-size:auto;background-attachment:scroll;background-origin:padding-box;background-clip:border-box;justify-content:center;align-items:center;height:100vh;display:flex}.login-card{text-align:center;background:linear-gradient(160deg,#1e293b,#0f172a);border:1px solid #ffffff14;border-radius:20px;width:90%;max-width:360px;padding:2.5rem;box-shadow:0 20px 60px #00000080}.login-card h1{background:linear-gradient(135deg,#fbbf24,#f59e0b);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0 0 .3rem;font-size:1.8rem}.login-subtitle{color:#64748b;margin:0 0 1.5rem;font-size:.85rem}.login-field{margin-bottom:.8rem}.login-field input{color:#f1f5f9;background:#0000004d;border:1px solid #ffffff1a;border-radius:10px;width:100%;padding:.7rem 1rem;font-size:.9rem}.login-field input:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f626}.login-error{color:#ef4444;margin-bottom:.8rem;font-size:.8rem}.login-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#3b82f6,#8b5cf6);border:none;border-radius:10px;width:100%;margin-top:.5rem;padding:.7rem;font-size:.9rem;font-weight:600;transition:all .2s}.login-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 16px #3b82f666}.login-btn:disabled{opacity:.5;cursor:not-allowed}.login-toggle{color:#60a5fa;cursor:pointer;background:0 0;border:none;margin-top:1rem;margin-left:auto;margin-right:auto;font-size:.8rem;display:block}.login-toggle:hover{text-decoration:underline}.user-badge{color:#60a5fa!important}.admin-panel{max-width:520px}.admin-add-btn{color:#34d399;cursor:pointer;background:#34d39914;border:1px dashed #34d3994d;border-radius:10px;width:100%;margin-bottom:1rem;padding:.6rem;font-size:.82rem;transition:all .15s}.admin-add-btn:hover{background:#34d39926;border-color:#34d39980}.admin-add-form{background:#0003;border:1px solid #ffffff0f;border-radius:10px;margin-bottom:1rem;padding:.8rem}.admin-add-row{gap:.5rem;margin-bottom:.5rem;display:flex}.admin-add-row input,.admin-add-row select{color:#f1f5f9;background:#0000004d;border:1px solid #ffffff1a;border-radius:8px;flex:1;padding:.5rem .7rem;font-size:.8rem}.admin-add-row input:focus,.admin-add-row select:focus{border-color:#3b82f6;outline:none}.admin-add-actions{justify-content:flex-end;gap:.4rem;display:flex}.admin-error{color:#ef4444;margin-bottom:.5rem;font-size:.75rem}.admin-edit-name{align-items:center;gap:.3rem;display:flex}.admin-edit-name input{color:#f1f5f9;background:#0000004d;border:1px solid #3b82f666;border-radius:6px;width:100px;padding:.2rem .5rem;font-size:.82rem}.admin-edit-name button{color:#fff;cursor:pointer;background:#10b981;border:none;border-radius:4px;padding:.2rem .4rem;font-size:.75rem}.admin-pw-form{background:#3b82f60d;border:1px solid #3b82f626;border-radius:8px;align-items:center;gap:.4rem;margin-top:-.2rem;margin-bottom:.3rem;padding:.5rem .8rem;display:flex}.admin-pw-form input{color:#f1f5f9;background:#0000004d;border:1px solid #ffffff26;border-radius:6px;flex:1;padding:.35rem .6rem;font-size:.8rem}.admin-pw-form input:focus{border-color:#3b82f6;outline:none}.admin-pw-error{color:#ef4444;font-size:.7rem}.admin-user-list{flex-direction:column;gap:.5rem;max-height:300px;display:flex;overflow-y:auto}.admin-user-row{background:#0003;border:1px solid #ffffff0f;border-radius:10px;align-items:center;gap:.6rem;padding:.6rem .8rem;display:flex}.admin-user-info{flex-direction:column;flex:1;display:flex}.admin-user-name{color:#f1f5f9;font-size:.85rem;font-weight:600}.admin-user-username{color:#64748b;font-size:.7rem}.admin-role-select{color:#e2e8f0;background:#0000004d;border:1px solid #ffffff1a;border-radius:6px;padding:.3rem .5rem;font-size:.75rem}.admin-user-actions{gap:.3rem;display:flex}.admin-user-actions button{color:#94a3b8;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:6px;padding:.25rem .4rem;font-size:.75rem;transition:all .15s}.admin-user-actions button:hover{color:#f1f5f9;background:#ffffff1a}.admin-user-actions .btn-del:hover{color:#ef4444;border-color:#ef44444d}.admin-legend{border-top:1px solid #ffffff0f;margin-top:1rem;padding-top:.8rem}.admin-legend p{color:#64748b;margin:.3rem 0;font-size:.72rem}.lang-switcher{background:#ffffff0a;border-radius:8px;gap:.2rem;padding:.15rem;display:flex}.lang-switcher button{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.25rem .5rem;font-size:.75rem;font-weight:500;transition:all .15s}.lang-switcher button.active{color:#60a5fa;background:#3b82f633}.lang-switcher button:hover:not(.active){color:#e2e8f0}.login-lang{position:absolute;top:1rem;right:1rem}.login-card{position:relative}.canvas-zoom-float{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:50;background:#0f172ae6;border:1px solid #ffffff1a;border-radius:10px;align-items:center;gap:.3rem;padding:.3rem .5rem;display:flex;position:fixed;bottom:16px;right:16px;box-shadow:0 4px 12px #0000004d}.canvas-zoom-float button{color:#e2e8f0;cursor:pointer;background:#ffffff14;border:1px solid #ffffff1a;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;font-size:.85rem;transition:all .15s;display:flex}.canvas-zoom-float button:hover{background:#ffffff26}.canvas-zoom-float span{color:#94a3b8;text-align:center;min-width:35px;font-size:.7rem}.drawer-section{padding:.5rem .8rem}.drawer-section .filter-row{flex-direction:column;gap:.3rem}.drawer-section .filter-row select{width:100%;font-size:.78rem}.drawer-section .import-export{flex-wrap:wrap;gap:.3rem}.drawer-section .ie-btn{white-space:nowrap;height:30px;padding:0 .6rem;font-size:.72rem}.drawer-divider{background:#ffffff0f;height:1px;margin:.3rem .5rem}[data-theme=light] .app{background:var(--bg-primary);background-image:none}[data-theme=light] .hamburger span{background:#334155}[data-theme=light] .male-card{background:var(--bg-card-male);border-color:#3b82f640;box-shadow:0 2px 8px #00000014}[data-theme=light] .female-card{background:var(--bg-card-female);border-color:#a855f740;box-shadow:0 2px 8px #00000014}[data-theme=light] .org-card-name{color:#1e293b}[data-theme=light] .org-card-spouse{color:#b45309}[data-theme=light] .org-card-location{color:#047857}[data-theme=light] .org-card-remark{color:#64748b}[data-theme=light] .spouse-card{background:linear-gradient(160deg,#fdf2f8 0%,#fce7f3 100%);border-color:#db277766;box-shadow:0 4px 16px #00000014}[data-theme=light] .spouse-card-name{color:#be185d}[data-theme=light] .spouse-card-label{color:#db2777}[data-theme=light] .toolbar-btn,[data-theme=light] .toggle-children{color:#475569;background:#0000000a;border-color:#0000001a}[data-theme=light] .search-input{color:#1e293b;background:#fff;border-color:#0000001a}[data-theme=light] .modal-content{background:#fff;border-color:#0000001a}[data-theme=light] .modal-header h3{color:#1e293b}[data-theme=light] .modal-field input,[data-theme=light] .modal-field select,[data-theme=light] .modal-field textarea{color:#1e293b;background:#f8fafc;border-color:#e2e8f0}[data-theme=light] .detail-panel{background:#fff;border-color:#e2e8f0}[data-theme=light] .detail-header h2{color:#1e293b}[data-theme=light] .detail-row{border-color:#f1f5f9}[data-theme=light] .detail-row span:last-child{color:#1e293b}[data-theme=light] .drawer{background:#fff;border-color:#e2e8f0}[data-theme=light] .drawer-item{color:#334155}[data-theme=light] .drawer-name{color:#1e293b}[data-theme=light] .canvas-zoom-float{background:#ffffffe6;border-color:#0000001a}[data-theme=light] .canvas-zoom-float button{color:#334155;background:#0000000a;border-color:#0000001a}[data-theme=light] .generation-badge{color:#b45309;background:#fbbf241a}[data-theme=light] .filter-row select{color:#334155;background:#fff;border-color:#e2e8f0}[data-theme=light] .ie-btn{color:#475569;background:#fff;border-color:#e2e8f0}[data-theme=light] .view-toggle button{color:#64748b;background:#fff;border-color:#e2e8f0}[data-theme=light] .view-toggle button.active{color:#2563eb;background:#eff6ff;border-color:#3b82f6}[data-theme=light] .login-page{background:#f1f5f9}[data-theme=light] .login-card{background:#fff;border-color:#e2e8f0}[data-theme=light] .login-field input{color:#1e293b;background:#f8fafc;border-color:#e2e8f0}[data-theme=light] .stats-modal{background:#fff}[data-theme=light] .stat-card{background:#f8fafc;border-color:#e2e8f0}[data-theme=light] .stat-value{color:#1e293b}[data-theme=light] .stat-label{color:#64748b}[data-theme=light] .stats-panel h4{color:#334155}[data-theme=light] .branch-name,[data-theme=light] .branch-count{color:#475569}[data-theme=light] .branch-bar{background:#e2e8f0}[data-theme=light] .location-tag{color:#047857;background:#10b98114;border-color:#10b98133}[data-theme=light] .app-header h1{background:linear-gradient(135deg,#d97706,#b45309);-webkit-background-clip:text;background-clip:text}[data-theme=light] .header-count{-webkit-text-fill-color:#64748b}[data-theme=light] .drawer-header,[data-theme=light] .drawer-footer{border-color:#e2e8f0}[data-theme=light] .drawer-close{color:#475569;background:#f1f5f9;border-color:#e2e8f0}[data-theme=light] .drawer-role{color:#64748b;background:#f1f5f9}[data-theme=light] .drawer-divider{background:#e2e8f0}[data-theme=light] .search-results{background:#fff;border-color:#e2e8f0;box-shadow:0 8px 24px #0000001a}[data-theme=light] .search-result-item{color:#334155;border-color:#f1f5f9}[data-theme=light] .search-result-item:hover{background:#f8fafc}[data-theme=light] .result-name{color:#1e293b}[data-theme=light] .result-branch{color:#64748b}[data-theme=light] .search-empty{color:#94a3b8}[data-theme=light] .confirm-message{color:#475569}[data-theme=light] .confirm-title{color:#1e293b}[data-theme=light] .btn-cancel{color:#475569;background:#f8fafc;border-color:#e2e8f0}[data-theme=light] .btn-cancel:hover{color:#1e293b;background:#f1f5f9}[data-theme=light] .btn-cancel-sm{color:#475569;background:#f8fafc;border-color:#e2e8f0}[data-theme=light] .org-card-editing input{color:#1e293b;background:#fff;border-color:#e2e8f0}[data-theme=light] .detail-edit-form input,[data-theme=light] .detail-edit-form textarea,[data-theme=light] .detail-edit-form select{color:#1e293b;background:#f8fafc;border-color:#e2e8f0}[data-theme=light] .detail-edit-form label>span{color:#475569}[data-theme=light] .detail-edit-btn{color:#2563eb;background:#eff6ff;border-color:#bfdbfe}[data-theme=light] .detail-edit-name{color:#1e293b;background:#f8fafc;border-color:#e2e8f0}[data-theme=light] .detail-branch{color:#2563eb;background:#eff6ff;border-color:#bfdbfe}[data-theme=light] .detail-label{color:#64748b}[data-theme=light] .timeline-view{background:#fff;border-color:#e2e8f0}[data-theme=light] .timeline-header h3{color:#1e293b}[data-theme=light] .timeline-subtitle{color:#64748b}[data-theme=light] .gen-label{color:#b45309}[data-theme=light] .tl-male{background:#eff6ff;border-color:#bfdbfe}[data-theme=light] .tl-female{background:#fdf4ff;border-color:#f5d0fe}[data-theme=light] .tl-name{color:#1e293b}[data-theme=light] .tl-info{color:#b45309}[data-theme=light] .tl-branch{color:#64748b}[data-theme=light] .tl-location{color:#047857}[data-theme=light] .tl-remark,[data-theme=light] .timeline-count{color:#94a3b8}[data-theme=light] .marker-dot{background:linear-gradient(135deg,#d97706,#b45309)}[data-theme=light] .marker-line{background:#b4530933}[data-theme=light] .relationship-result{color:#1e40af;background:#eff6ff;border-color:#bfdbfe}[data-theme=light] .admin-panel .modal-content{background:#fff}[data-theme=light] .admin-user-row{background:#f8fafc;border-color:#e2e8f0}[data-theme=light] .admin-user-name{color:#1e293b}[data-theme=light] .admin-user-username{color:#64748b}[data-theme=light] .admin-role-select{color:#334155;background:#fff;border-color:#e2e8f0}[data-theme=light] .admin-user-actions button{color:#475569;background:#f1f5f9;border-color:#e2e8f0}[data-theme=light] .admin-add-form{background:#f8fafc;border-color:#e2e8f0}[data-theme=light] .admin-add-row input,[data-theme=light] .admin-add-row select{color:#1e293b;background:#fff;border-color:#e2e8f0}[data-theme=light] .admin-add-btn{color:#047857;background:#f0fdf4;border-color:#86efac}[data-theme=light] .admin-pw-form{background:#eff6ff;border-color:#bfdbfe}[data-theme=light] .admin-pw-form input{color:#1e293b;background:#fff;border-color:#e2e8f0}[data-theme=light] .gender-btn{color:#64748b;background:#fff;border-color:#e2e8f0}[data-theme=light] .gender-btn.active.male{color:#2563eb;background:#eff6ff;border-color:#3b82f6}[data-theme=light] .gender-btn.active.female{color:#7c3aed;background:#fdf4ff;border-color:#a855f7}[data-theme=light] .modal-subtitle{color:#64748b}[data-theme=light] .modal-close{color:#475569;background:#f1f5f9;border-color:#e2e8f0}[data-theme=light] .lang-switcher button{color:#64748b}[data-theme=light] .lang-switcher button.active{color:#2563eb;background:#eff6ff}[data-theme=light] .filter-clear{color:#dc2626;background:#fef2f2;border-color:#fecaca}[data-theme=light] .children-count{color:#64748b}[data-theme=light] .org-card-tags .branch-badge{border-width:1px}.confirm-type-name{margin-bottom:1rem}.confirm-type-hint{color:#94a3b8;margin:0 0 .4rem;font-size:.8rem}.confirm-type-name input{color:#f1f5f9;text-align:center;background:#0000004d;border:1px solid #ef44444d;border-radius:8px;width:100%;padding:.55rem .8rem;font-size:.9rem}.confirm-type-name input:focus{border-color:#ef4444;outline:none;box-shadow:0 0 0 2px #ef444426}[data-theme=light] .confirm-type-name input{color:#1e293b;background:#fef2f2;border-color:#fecaca}[data-theme=light] .confirm-type-hint{color:#64748b}.audit-log{max-height:60vh;overflow-y:auto}.audit-empty{text-align:center;color:#64748b;padding:2rem}.audit-list{flex-direction:column;gap:.4rem;display:flex}.audit-entry{background:#ffffff05;border:1px solid #ffffff0a;border-radius:8px;align-items:center;gap:.6rem;padding:.5rem .6rem;display:flex}.audit-icon{flex-shrink:0;font-size:1rem}.audit-info{flex-direction:column;flex:1;gap:.1rem;display:flex}.audit-name{color:#f1f5f9;font-size:.82rem;font-weight:600}.audit-detail{color:#94a3b8;font-size:.7rem}.audit-meta{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:.1rem;display:flex}.audit-user{color:#64748b;font-size:.65rem}.audit-time{color:#475569;font-size:.6rem}[data-theme=light] .audit-entry{background:#f8fafc;border-color:#e2e8f0}[data-theme=light] .audit-name{color:#1e293b}[data-theme=light] .audit-detail{color:#64748b}.member-tabs{border-top:1px solid #ffffff0f;margin-top:1rem;padding-top:1rem}.tabs-header{background:#ffffff08;border:1px solid #ffffff0f;border-radius:10px;gap:.25rem;margin-bottom:.85rem;padding:.25rem;display:flex}.tabs-header button{color:#94a3b8;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:8px;flex:1;padding:.5rem .3rem;font-size:.72rem;font-weight:600;transition:background .15s,color .15s}.tabs-header button:hover{color:#cbd5e1}.tabs-header button.active{color:#60a5fa;background:#3b82f62e;box-shadow:0 1px 4px #3b82f626}.tab-content{flex-direction:column;gap:.4rem;display:flex}.tab-empty{text-align:center;color:#64748b;margin:0;padding:1.4rem .8rem;font-size:.78rem}.tab-item{color:#e2e8f0;background:#ffffff08;border:1px solid #ffffff0f;border-radius:10px;justify-content:space-between;align-items:center;gap:.5rem;padding:.6rem .75rem;font-size:.82rem;transition:background .15s,border-color .15s;display:flex}.tab-item:hover{background:#ffffff0e;border-color:#ffffff1a}.tab-item-text{flex:1;line-height:1.4}.tab-item-del{color:#64748b;cursor:pointer;background:#ffffff0a;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:.7rem;transition:background .15s,color .15s;display:flex}.tab-item-del:hover{color:#ef4444;background:#ef444426}.comment-item{align-items:flex-start}.comment-body{flex-direction:column;flex:1;gap:.25rem;min-width:0;display:flex}.comment-text{color:#e2e8f0;word-break:break-word;font-size:.82rem;line-height:1.45}.comment-meta{color:#64748b;font-size:.66rem}.tab-add{gap:.4rem;margin-top:.6rem;display:flex}.tab-add input,.tab-add select{color:#f1f5f9;background:#00000040;border:1px solid #ffffff1a;border-radius:8px;flex:1;min-width:0;padding:.5rem .65rem;font-size:.8rem;transition:border-color .15s,box-shadow .15s}.tab-add input:focus,.tab-add select:focus{border-color:#3b82f680;outline:none;box-shadow:0 0 0 3px #3b82f61f}.tab-add input::placeholder{color:#64748b}.tab-add .year-input{flex:none;max-width:70px}.tab-add button{color:#34d399;cursor:pointer;background:#34d39926;border:1px solid #34d3994d;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;min-width:40px;padding:.4rem .7rem;font-size:1rem;font-weight:600;transition:background .15s;display:flex}.tab-add button:hover{background:#34d39947}.tab-add-event{flex-wrap:wrap}.tab-add-event select{flex:none;max-width:100px}[data-theme=light] .member-tabs{border-color:#e2e8f0}[data-theme=light] .tabs-header{background:#f1f5f9;border-color:#e2e8f0}[data-theme=light] .tabs-header button{color:#64748b}[data-theme=light] .tabs-header button:hover{color:#334155}[data-theme=light] .tabs-header button.active{color:#2563eb;background:#dbeafe;box-shadow:0 1px 4px #2563eb1f}[data-theme=light] .tab-item{color:#1e293b;background:#f8fafc;border-color:#e2e8f0}[data-theme=light] .tab-item:hover{background:#f1f5f9;border-color:#cbd5e1}[data-theme=light] .tab-item-del{background:#eef2f7}[data-theme=light] .comment-text{color:#334155}[data-theme=light] .comment-meta{color:#94a3b8}[data-theme=light] .tab-add input,[data-theme=light] .tab-add select{color:#1e293b;background:#fff;border-color:#e2e8f0}[data-theme=light] .tab-add input::placeholder{color:#94a3b8}
