.reactEasyCrop_Container{position:absolute;top:0;left:0;right:0;bottom:0;overflow:hidden;-webkit-user-select:none;user-select:none;touch-action:none;cursor:move;display:flex;justify-content:center;align-items:center}.reactEasyCrop_Image,.reactEasyCrop_Video{will-change:transform;max-width:unset}.reactEasyCrop_Contain{max-width:100%;max-height:100%;margin:auto;position:absolute;top:0;bottom:0;left:0;right:0}.reactEasyCrop_Cover_Horizontal{width:100%;height:auto}.reactEasyCrop_Cover_Vertical{width:auto;height:100%}.reactEasyCrop_CropArea{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border:1px solid rgba(255,255,255,.5);box-sizing:border-box;box-shadow:0 0 0 9999em;color:#00000080;overflow:hidden}.reactEasyCrop_CropAreaRound{border-radius:50%}.reactEasyCrop_CropAreaGrid:before{content:" ";box-sizing:border-box;position:absolute;border:1px solid rgba(255,255,255,.5);top:0;bottom:0;left:33.33%;right:33.33%;border-top:0;border-bottom:0}.reactEasyCrop_CropAreaGrid:after{content:" ";box-sizing:border-box;position:absolute;border:1px solid rgba(255,255,255,.5);top:33.33%;bottom:33.33%;left:0;right:0;border-left:0;border-right:0}:root{--bg: #e9e9ee;--card-bg: #ffffff;--surface: #f6f6f8;--input-bg: #f2f2f4;--input-border: #e6e6ea;--text-primary: #1c1c1e;--text-secondary: #6e6e73;--text-tertiary: #a1a1a6;--btn-bg: #1c1c1e;--btn-bg-hover: #333336;--accent-green: #34c759;--green-soft: #e7f7ee;--green-strong: #1e9e54;--border: #e5e5ea;--danger: #d93a3a;--radius-card: 24px;--radius-field: 14px;--radius-sm: 10px;--shadow-phone: 0 30px 70px rgba(17, 17, 26, .22), 0 6px 18px rgba(17, 17, 26, .08);--shadow-pop: 0 6px 20px rgba(17, 17, 26, .14)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;color:var(--text-primary)}.auth-stage{min-height:100vh;min-height:100dvh;padding:96px 16px 32px;display:flex;align-items:center;justify-content:center;background:radial-gradient(1200px 600px at 50% -10%,#f3f3f7 0%,transparent 60%),var(--bg)}.auth-card{width:440px;max-width:100%;background:var(--card-bg);border-radius:var(--radius-card);box-shadow:var(--shadow-phone);border:1px solid rgba(28,28,30,.06);padding:40px 36px 36px}.auth-content{padding:20px 26px 8px;display:flex;flex-direction:column;flex:1 0 auto}.auth-title{font-size:27px;font-weight:700;letter-spacing:-.5px;margin:0;color:var(--text-primary)}.auth-subtitle{font-size:15px;line-height:1.5;color:var(--text-secondary);margin:8px 0 26px}.auth-form{display:flex;flex-direction:column;gap:16px;margin-bottom:4px}.field{display:flex;flex-direction:column;gap:7px}.field-label{font-size:13px;font-weight:600;color:var(--text-secondary)}.field-required{color:var(--color-danger, #e5484d)}.field-input{width:100%;height:52px;padding:0 16px;font-size:16px;font-family:inherit;color:var(--text-primary);background:var(--input-bg);border:1.5px solid transparent;border-radius:var(--radius-field);outline:none;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.field-input:focus{background:var(--card-bg);border-color:var(--text-primary);box-shadow:0 0 0 3px #1c1c1e14}.field-input-wrap{position:relative;display:flex;align-items:center}.field-input-wrap .field-input{padding-right:52px}.field-reveal{position:absolute;right:6px;display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;padding:0;color:var(--text-secondary);background:transparent;border:none;border-radius:10px;cursor:pointer;transition:color .15s ease,background .15s ease}.field-reveal:hover{color:var(--text-primary);background:#1c1c1e0f}.field-reveal:focus-visible{outline:2px solid var(--text-primary);outline-offset:2px}.phone-input{display:flex;align-items:stretch;height:52px;background:var(--input-bg);border:1.5px solid transparent;border-radius:var(--radius-field);transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.phone-input:focus-within{background:var(--card-bg);border-color:var(--text-primary);box-shadow:0 0 0 3px #1c1c1e14}.phone-input-code{flex:none;padding:0 10px 0 16px;font-size:16px;font-family:inherit;font-weight:600;color:var(--text-primary);background:transparent;border:none;border-right:1px solid var(--border);outline:none;cursor:pointer}.phone-input-number{flex:1;min-width:0;padding:0 16px 0 12px;font-size:16px;font-family:inherit;color:var(--text-primary);background:transparent;border:none;outline:none}.form-options{display:flex;align-items:center;justify-content:space-between;margin-top:2px}.checkbox{display:inline-flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox input{position:absolute;opacity:0;width:0;height:0}.checkbox-box{width:21px;height:21px;border-radius:7px;border:1.5px solid var(--border);background:var(--card-bg);display:inline-flex;align-items:center;justify-content:center;transition:background .15s ease,border-color .15s ease;flex-shrink:0}.checkbox-box .check{width:11px;height:9px;opacity:0;transform:scale(.6);transition:opacity .15s ease,transform .15s ease}.checkbox input:checked+.checkbox-box{background:var(--accent-green);border-color:var(--accent-green)}.checkbox input:checked+.checkbox-box .check{opacity:1;transform:scale(1)}.checkbox input:focus-visible+.checkbox-box{box-shadow:0 0 0 3px #34c75940}.checkbox-label{font-size:14px;color:var(--text-secondary)}.radio{display:inline-flex;align-items:center;cursor:pointer}.radio input{position:absolute;opacity:0;width:0;height:0}.radio-box{width:21px;height:21px;border-radius:50%;border:1.5px solid var(--border);background:var(--card-bg);display:inline-flex;align-items:center;justify-content:center;transition:background .15s ease,border-color .15s ease;flex-shrink:0}.radio-dot{width:9px;height:9px;border-radius:50%;background:#fff;opacity:0;transform:scale(.6);transition:opacity .15s ease,transform .15s ease}.radio input:checked+.radio-box{background:var(--accent-green);border-color:var(--accent-green)}.radio input:checked+.radio-box .radio-dot{opacity:1;transform:scale(1)}.radio input:focus-visible+.radio-box{box-shadow:0 0 0 3px #34c75940}.radio input:disabled+.radio-box{opacity:.45}.link{font-size:14px;font-weight:600;color:var(--text-primary);text-decoration:none}.link:hover{text-decoration:underline}.primary-btn{width:100%;height:52px;border:none;border-radius:var(--radius-field);background:var(--btn-bg);color:#fff;font-family:inherit;font-size:16px;font-weight:600;letter-spacing:.1px;cursor:pointer;transition:background .15s ease,transform .05s ease,box-shadow .15s ease;box-shadow:0 8px 20px #1c1c1e2e}.primary-btn:hover{background:var(--btn-bg-hover)}.primary-btn:active{transform:scale(.985)}.primary-btn:focus-visible{outline:none;box-shadow:0 0 0 4px #1c1c1e40}.primary-btn.compact{width:auto;height:48px;padding:0 18px;font-size:14px;box-shadow:none}.orck-btn{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:50%;background:var(--card-bg);cursor:pointer;color:var(--text-primary);margin-bottom:22px;transition:background .15s ease,box-shadow .15s ease}.back-btn:hover{background:#fafafa;box-shadow:var(--shadow-pop)}.back-btn svg{width:18px;height:18px}.otp-row{display:flex;justify-content:center;gap:14px;margin:6px 0 22px}.otp-box{width:62px;height:62px;border-radius:50%;background:var(--input-bg);border:1.5px solid transparent;text-align:center;font-family:inherit;font-size:24px;font-weight:700;color:var(--text-primary);outline:none;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.otp-box::placeholder{color:var(--text-tertiary)}.otp-box:focus{background:var(--card-bg);border-color:var(--text-primary);box-shadow:0 0 0 3px #1c1c1e14}.bottom-text{margin:22px 0 8px;text-align:center;font-size:14px;color:var(--text-secondary)}.link-btn{background:none;border:none;padding:0;font-family:inherit;font-size:14px;font-weight:600;color:var(--text-primary);cursor:pointer}.link-btn:hover{text-decoration:underline}@media(max-width:480px){.auth-stage{padding:72px 8px 16px}}.graph-app{position:relative;height:100vh;height:100dvh;overflow:hidden;background:var(--surface)}.graph-canvas{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;overflow:auto;overscroll-behavior:contain;background-color:var(--surface);background-image:radial-gradient(rgba(28,28,30,.09) 1px,transparent 1px);background-size:22px 22px}.canvas-empty{text-align:center;color:var(--text-tertiary);max-width:340px;padding:24px;margin:auto}.canvas-empty svg{color:var(--text-tertiary);margin-bottom:8px}.canvas-empty h2{font-size:20px;font-weight:700;color:var(--text-secondary);margin:0 0 8px}.canvas-empty p{font-size:14px;line-height:1.5;margin:0}.burger-btn{position:fixed;top:max(16px,env(safe-area-inset-top));left:max(16px,env(safe-area-inset-left));z-index:40;width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:12px;background:var(--card-bg);color:var(--text-primary);cursor:pointer;box-shadow:var(--shadow-pop);transition:background .15s ease,transform .05s ease}.burger-btn:hover{background:#fafafa}.burger-btn:active{transform:scale(.95)}.burger-btn:focus-visible{outline:none;box-shadow:0 0 0 4px #1c1c1e33}.drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:55;background:#1c1c1e66;opacity:0;pointer-events:none;transition:opacity .25s ease}.drawer-overlay.open{opacity:1;pointer-events:auto}.drawer{position:fixed;top:0;bottom:0;left:0;z-index:60;width:288px;max-width:85vw;background:var(--card-bg);box-shadow:12px 0 40px #11111a2e;transform:translate(-100%);transition:transform .28s cubic-bezier(.22,1,.36,1);display:flex;flex-direction:column;padding-top:env(safe-area-inset-top)}.drawer.open{transform:translate(0)}.drawer-header{display:flex;align-items:center;justify-content:space-between;padding:20px 20px 16px;border-bottom:1px solid var(--border)}.drawer-title{font-size:17px;font-weight:700;letter-spacing:-.2px}.drawer-close{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:10px;background:var(--surface);color:var(--text-secondary);cursor:pointer;transition:background .15s ease,color .15s ease}.drawer-close:hover{background:var(--input-bg);color:var(--text-primary)}.drawer-menu{display:flex;flex-direction:column;gap:4px;padding:12px;overflow-y:auto;flex:1 1 auto;min-height:0}.drawer-item{display:flex;align-items:center;gap:12px;width:100%;padding:13px 14px;border:none;border-radius:12px;background:transparent;font-family:inherit;font-size:15px;font-weight:500;color:var(--text-primary);cursor:pointer;text-align:left;transition:background .15s ease}.drawer-item:hover{background:var(--surface)}.drawer-item:focus-visible{outline:none;box-shadow:0 0 0 3px #1c1c1e26}.drawer-item svg{flex-shrink:0;color:var(--text-secondary)}.drawer-item:hover svg{color:var(--text-primary)}.drawer-item.active{background:var(--surface);font-weight:600}.drawer-item.active svg{color:var(--text-primary)}.drawer-group{display:flex;flex-direction:column;gap:4px;margin-top:10px;padding-top:10px;border-top:1px solid var(--border)}.drawer-group-title{padding:0 14px 4px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--text-tertiary)}.drawer-group:first-child{margin-top:0;padding-top:0;border-top:none}.drawer-footer{margin-top:auto;padding:12px;border-top:1px solid var(--border)}.drawer-tenant{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 12px;margin-bottom:6px;border-radius:12px;background:var(--surface)}.drawer-tenant-info{display:flex;flex-direction:column;gap:1px;min-width:0}.drawer-tenant-label{font-size:11px;font-weight:700;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.4px}.drawer-tenant-name{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--text-primary);word-break:break-word}.drawer-tenant-switch{flex-shrink:0;padding:5px 11px;border:1px solid var(--border);border-radius:999px;background:var(--card-bg);color:var(--btn-bg);font-family:inherit;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .15s ease,border-color .15s ease,color .15s ease}.drawer-tenant-switch:hover{background:var(--btn-bg);border-color:var(--btn-bg);color:#fff}.drawer-item.logout{color:var(--danger)}.drawer-item.logout svg{color:var(--danger)}.drawer-account{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:10px 14px 12px;border:none;border-bottom:1px solid var(--border);margin-bottom:8px;background:transparent;font-family:inherit;text-align:left;cursor:pointer;border-radius:12px;transition:background .15s ease}.drawer-account:hover,.drawer-account.active{background:var(--surface)}.drawer-account:focus-visible{outline:none;box-shadow:0 0 0 3px #1c1c1e26}.drawer-account-text{display:block;min-width:0}.drawer-account-name{display:block;font-size:14px;font-weight:600;color:var(--text-primary);word-break:break-word}.drawer-account-contact{display:block;font-size:12.5px;font-weight:500;color:var(--text-secondary);margin-top:1px;word-break:break-word}.drawer-account-role{display:block;font-size:12px;font-weight:600;color:var(--text-tertiary);margin-top:2px;text-transform:uppercase;letter-spacing:.4px}.drawer-account-hint{display:inline-flex;align-items:center;gap:4px;flex-shrink:0;font-size:12px;font-weight:600;color:var(--btn-bg)}.form-alert{margin:0;padding:11px 14px;border-radius:var(--radius-sm);font-size:13.5px;line-height:1.45}.form-alert.success{background:#34c7591f;color:#1d7a34}.form-alert.error{background:#d93a3a1a;color:var(--danger)}.form-alert.warning{background:#ffb02024;color:#8a5a00}.field-hint{margin:-8px 0 0;font-size:12.5px;line-height:1.4}.field-hint.error{color:var(--danger)}.field-hint.success{color:#1d7a34}.rel-direction{margin:0;padding:10px 14px;border-radius:var(--radius-sm);background:#34c7591a;border:1px solid rgba(52,199,89,.25);color:var(--text-primary);font-size:13.5px;line-height:1.5}.rel-direction strong{color:#1d7a34}.graph-svg{display:block;margin:auto;touch-action:none;-webkit-user-select:none;user-select:none}.graph-edge line.edge-line,.graph-edge path.edge-line{stroke:#c7c7cf;stroke-width:2;stroke-linecap:round;fill:none}.edge-arrow{fill:#c7c7cf}.graph-edge.selected line.edge-line,.graph-edge.selected path.edge-line{stroke:var(--text-primary);stroke-width:2.5}.graph-edge.selected .edge-arrow{fill:var(--text-primary)}line.edge-hit,path.edge-hit{stroke:transparent;stroke-width:14;fill:none;cursor:pointer}.edge-edit-btn{cursor:pointer}.edge-edit-btn circle{fill:var(--card-bg);stroke:var(--border);stroke-width:1.5;filter:drop-shadow(0 2px 6px rgba(17,17,26,.18))}.edge-edit-btn:hover circle{stroke:var(--text-primary)}.edge-edit-btn path{fill:none;stroke:var(--text-secondary);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.edge-edit-btn:hover path{stroke:var(--text-primary)}.edge-label{font-size:11px;font-weight:600;fill:var(--text-tertiary);letter-spacing:.3px}.graph-node rect{fill:var(--card-bg);stroke:#dedee4;stroke-width:1.5;filter:drop-shadow(0 4px 10px rgba(17,17,26,.1));cursor:grab}.graph-node.dragging rect{cursor:grabbing;stroke:var(--text-primary);filter:drop-shadow(0 6px 14px rgba(17,17,26,.2))}.graph-node.gender-male rect{fill:var(--card-bg);stroke:url(#gender-male-grad);stroke-width:3}.graph-node.gender-female rect{fill:var(--card-bg);stroke:url(#gender-female-grad);stroke-width:3}.graph-node.is-self .node-self-ring{fill:none;stroke:var(--btn-bg);stroke-width:2.5;filter:none;pointer-events:none}.graph-node.is-self .node-self-badge{pointer-events:none}.graph-node.is-self .node-self-badge rect{fill:var(--btn-bg);stroke:none;filter:drop-shadow(0 2px 5px rgba(17,17,26,.2))}.graph-node.is-self .node-self-badge text{fill:var(--card-bg);font-size:10px;font-weight:600;letter-spacing:.3px}.node-label{font-size:11.5px;font-weight:600;fill:var(--text-primary);pointer-events:none}.node-avatar{pointer-events:none}.node-avatar-ring{fill:none;stroke:#dedee4;stroke-width:1.5}.graph-node.gender-male .node-avatar-ring{stroke:url(#gender-male-grad)}.graph-node.gender-female .node-avatar-ring{stroke:url(#gender-female-grad)}.node-avatar-ring.is-pending{stroke:#f0b429;stroke-width:2.5}.node-gen{font-size:10px;font-weight:500;fill:var(--text-tertiary);letter-spacing:.4px;pointer-events:none}.node-relation{pointer-events:none}.node-relation rect{fill:var(--card-bg);stroke:var(--border);stroke-width:1;filter:drop-shadow(0 2px 5px rgba(17,17,26,.14))}.node-relation text{font-weight:600;letter-spacing:.2px;fill:var(--text-secondary)}.node-relation.tone-close text{fill:var(--green-strong)}.node-relation-ring{fill:none;stroke:var(--btn-bg);stroke-width:2.5;filter:none;pointer-events:none}.graph-edge.relation-focus line.edge-line,.graph-edge.relation-focus path.edge-line{stroke:var(--text-primary);stroke-width:2.5}.graph-edge.relation-focus .edge-arrow{fill:var(--text-primary)}.relation-toggle{position:fixed;top:calc(max(16px,env(safe-area-inset-top)) + 52px);left:max(16px,env(safe-area-inset-left));z-index:40;width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:12px;background:var(--card-bg);color:var(--text-primary);cursor:pointer;box-shadow:var(--shadow-pop);transition:background .15s ease,transform .05s ease}.relation-toggle:hover:not(:disabled):not(.active){background:#fafafa}.relation-toggle:active:not(:disabled){transform:scale(.95)}.relation-toggle:focus-visible{outline:none;box-shadow:0 0 0 4px #1c1c1e33}.relation-toggle.active{background:var(--btn-bg);border-color:var(--btn-bg);color:var(--card-bg)}.relation-toggle:disabled{opacity:.45;cursor:default}.relation-panel{position:absolute;top:64px;right:max(16px,env(safe-area-inset-right));z-index:25;width:272px;max-height:calc(100% - 168px);overflow-y:auto;padding:14px 16px;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:0 4px 14px #11111a24}.relation-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.relation-panel-eyebrow{margin:0;font-size:10px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:var(--text-tertiary)}.relation-panel-name{margin:3px 0 0;font-size:16px;font-weight:700;letter-spacing:-.2px}.relation-panel-close{flex:none;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:none;border-radius:6px;background:transparent;color:var(--text-secondary);font-size:18px;line-height:1;cursor:pointer}.relation-panel-close:hover{background:#11111a12;color:var(--text-primary)}.relation-panel-empty{margin:12px 0 0;font-size:12.5px;line-height:1.5;color:var(--text-secondary)}.relation-panel-groups{display:flex;flex-direction:column;gap:12px;margin:12px 0 0;padding:0;list-style:none}.relation-panel-group{padding-top:10px;border-top:1px solid var(--border)}.relation-panel-group-title{margin:0;font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--text-tertiary)}.relation-panel-members{display:flex;flex-direction:column;gap:4px;margin:7px 0 0;padding:0;list-style:none}.relation-panel-member{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.relation-panel-person{padding:0;border:none;background:none;font:inherit;font-size:13px;font-weight:600;color:var(--text-primary);text-align:left;cursor:pointer}.relation-panel-person:hover{color:var(--green-strong);text-decoration:underline}.relation-panel-person:focus-visible{outline:none;border-radius:4px;box-shadow:0 0 0 3px #1e9e544d}.relation-panel-label{flex:none;font-size:11px;font-weight:600;color:var(--text-secondary)}.relation-panel-label.tone-close{color:var(--green-strong)}@media(max-width:720px){.relation-panel{top:auto;bottom:calc(64px + env(safe-area-inset-bottom,0px));left:12px;right:12px;width:auto;max-height:38%}}.node-action{cursor:pointer;opacity:0;pointer-events:none;transition:opacity .12s ease}.graph-node:hover .node-action{opacity:1;pointer-events:all}.node-action circle{fill:var(--card-bg);stroke:var(--border);stroke-width:1.5;filter:drop-shadow(0 2px 6px rgba(17,17,26,.18))}.node-action path{fill:none;stroke:var(--text-secondary);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.node-action:hover circle{stroke:var(--text-primary)}.node-action:hover path{stroke:var(--text-primary)}.node-action.link circle{fill:#2e9e5b1f;stroke:#2e9e5b}.node-action.link path{stroke:#2e9e5b}.node-action.link:hover circle,.node-action.link.active circle{fill:#2e9e5b38;stroke:#1f7a45}.node-action.link:hover path,.node-action.link.active path{stroke:#1f7a45}.graph-node.link-source rect{stroke:#2e9e5b;stroke-width:3}.graph-node.link-target rect{stroke:#2e9e5b;stroke-dasharray:5 4}.graph-node.link-target .node-action.link{opacity:1;pointer-events:all}.link-hint{position:absolute;top:14px;left:50%;transform:translate(-50%);z-index:5;padding:8px 16px;border-radius:var(--radius-sm);background:#2e9e5b1f;border:1px solid rgba(46,158,91,.4);color:#1f7a45;font-size:13px;font-weight:600;box-shadow:0 4px 12px #11111a1f;white-space:nowrap}.zoom-controls{position:absolute;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));z-index:30;display:flex;align-items:center;gap:2px;padding:4px;border-radius:10px;background:var(--card-bg);border:1px solid var(--border);box-shadow:0 4px 14px #11111a24}.zoom-controls button{min-width:34px;height:32px;padding:0 8px;border:none;border-radius:7px;background:transparent;color:var(--text-secondary);font-size:17px;line-height:1;cursor:pointer}.zoom-controls button:hover{background:#11111a12;color:var(--text-primary)}.zoom-controls .zoom-value{min-width:46px;font-size:12px;font-weight:600;font-variant-numeric:tabular-nums}.zoom-controls .zoom-me{font-size:12px;font-weight:600;color:var(--text-primary)}.zoom-controls .zoom-fit{font-size:12px;font-weight:600;color:#1d7a34}.zoom-controls .zoom-reset{font-size:12px;font-weight:600;color:#b4451d}.zoom-controls .zoom-stack{position:relative;display:flex}.zoom-controls .zoom-add{position:absolute;left:50%;bottom:calc(100% + 8px);transform:translate(-50%);width:38px;min-width:38px;height:38px;padding:0;border-radius:12px;background:var(--card-bg);border:1px solid var(--border);box-shadow:0 4px 14px #11111a24;color:var(--green-strong);font-size:22px;font-weight:500}.zoom-controls .zoom-add:hover{background:var(--green-soft);border-color:var(--green-strong);color:var(--green-strong)}.spinner{width:34px;height:34px;margin:0 auto 14px;border-radius:50%;border:3px solid var(--input-border);border-top-color:var(--text-secondary);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.retry-btn{margin-top:14px;padding:10px 22px;border:none;border-radius:var(--radius-sm);background:var(--btn-bg);color:#fff;font-family:inherit;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s ease}.retry-btn:hover{background:var(--btn-bg-hover)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:flex;align-items:center;justify-content:center;padding:20px;background:#1c1c1e73;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:fade-in .15s ease}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.modal{width:420px;max-width:100%;max-height:90vh;overflow-y:auto;background:var(--card-bg);border-radius:20px;box-shadow:var(--shadow-phone);padding:26px 28px;animation:modal-pop .18s ease}@keyframes modal-pop{0%{transform:translateY(8px) scale(.98);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.modal-title{font-size:22px;font-weight:700;letter-spacing:-.3px;margin:0}.modal-subtitle{font-size:14px;color:var(--text-secondary);margin:6px 0 20px}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px}.modal-heading{min-width:0}.modal-header .modal-subtitle{margin-bottom:0}.modal-header-actions{display:flex;align-items:center;gap:8px;flex:none}.modal-icon-btn{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:10px;background:var(--surface);color:var(--text-secondary);cursor:pointer;transition:background .15s ease,color .15s ease}.modal-icon-btn:hover{background:var(--input-bg);color:var(--text-primary)}.modal-icon-btn.danger:hover{background:#d93a3a1f;color:var(--danger)}.modal-icon-btn:disabled{opacity:.55;cursor:not-allowed}.deceased-toggle{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;padding:8px 14px;border:1.5px dashed var(--border);border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);font-family:inherit;font-size:14px;font-weight:600;cursor:pointer;transition:color .15s ease,border-color .15s ease,background .15s ease}.deceased-toggle:hover{color:var(--danger);border-color:var(--danger);background:#d93a3a0f}.deceased-section{display:flex;flex-direction:column;gap:10px}.deceased-heading{display:flex;align-items:center;justify-content:space-between}.deceased-label{font-size:14px;font-weight:600;color:var(--danger)}.deceased-remove{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:8px;background:transparent;color:var(--text-tertiary);cursor:pointer;transition:background .15s ease,color .15s ease}.deceased-remove:hover{background:#d93a3a1a;color:var(--danger)}textarea.field-input{height:auto;min-height:96px;padding:12px 16px;resize:vertical;line-height:1.5}.modal-form{display:flex;flex-direction:column;gap:14px}.modal-form select.field-input{height:52px;padding:0 16px;font-family:inherit;font-size:15px;color:var(--text-primary);background:var(--input-bg);border:1.5px solid transparent;border-radius:var(--radius-field);outline:none;cursor:pointer}.modal-form select.field-input .modal-actions .push-left{flex:0 0 auto;margin-right:auto}.modal-form select.field-input:focus{background:var(--card-bg);border-color:var(--text-primary);box-shadow:0 0 0 3px #1c1c1e14}.toggle-group{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:8px}.toggle-btn{height:52px;padding:0 16px;border:1.5px solid transparent;border-radius:var(--radius-field);background:var(--input-bg);color:var(--text-primary);font-family:inherit;font-size:15px;font-weight:600;cursor:pointer;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.toggle-btn:hover{background:var(--card-bg)}.toggle-btn.active{background:var(--card-bg);border-color:var(--text-primary);box-shadow:0 0 0 3px #1c1c1e14}.modal-actions{display:flex;gap:12px;margin-top:6px}.modal-actions .primary-btn,.modal-actions .modal-btn{flex:1}.modal-btn.danger{background:var(--danger);border-color:var(--danger);color:#fff}.modal-btn.danger:hover{background:#c22f2f;border-color:#c22f2f}.confirm-block{display:flex;flex-direction:column;gap:14px}.confirm-text{margin:0;font-size:14px;line-height:1.5;color:var(--text-secondary)}.modal-btn{padding:0 22px;height:52px;border:1.5px solid var(--border);border-radius:var(--radius-field);background:var(--card-bg);color:var(--text-primary);font-family:inherit;font-size:15px;font-weight:600;cursor:pointer;transition:background .15s ease}.modal-btn.secondary:hover{background:var(--surface)}.primary-btn:disabled,.modal-btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.tenants-page{min-height:100vh;min-height:100dvh;padding:48px 24px;background:radial-gradient(1200px 600px at 50% -10%,#f3f3f7 0%,transparent 60%),var(--bg)}.tenants-header{max-width:1060px;margin:0 auto 20px;display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}@media(max-width:1140px){.tenants-header{padding-left:56px}}.tenants-title{font-size:26px;font-weight:700;letter-spacing:-.4px;margin:0}.tenants-subtitle{margin:6px 0 0;font-size:14px;color:var(--text-secondary)}.tenants-header-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.tenants-toolbar{max-width:1060px;margin:0 auto 16px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.tenants-toolbar .field-input{max-width:360px;height:40px}.tenants-toolbar-note{font-size:13px;color:var(--text-secondary)}.tenants-toolbar-end{justify-content:flex-end}.mgmt-tabs-row{max-width:1060px;margin:0 auto 16px;display:flex;align-items:flex-end;gap:2px;border-bottom:1px solid var(--border)}.mgmt-tabs{display:flex;align-items:flex-end;gap:2px}.mgmt-tab{position:relative;z-index:0;display:inline-flex;align-items:center;justify-content:center;height:38px;padding:0 26px;border:1px solid var(--border);border-bottom:none;border-radius:10px 10px 0 0;background:var(--surface);color:var(--text-secondary);font-family:inherit;font-size:14px;font-weight:600;line-height:1;text-decoration:none;white-space:nowrap;cursor:pointer;margin-bottom:-1px;transition:background .15s ease,color .15s ease}.mgmt-tab:hover:not(.is-active):not(.is-disabled){background:#fbfbfd;color:var(--text-primary)}.mgmt-tab.is-active{z-index:1;background:var(--card-bg);border-color:var(--border);border-bottom:1px solid var(--card-bg);color:var(--text-primary)}.mgmt-tab-wrap{display:inline-flex}.mgmt-tab.is-disabled{opacity:.45;cursor:not-allowed}@media(max-width:720px){.tenants-page{padding:48px 18px}.mgmt-tabs-row{border-bottom:none}.mgmt-tabs{flex:1 1 auto;min-width:0;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:4px;padding:4px;background:var(--surface);border:1px solid var(--border);border-radius:12px}.mgmt-tab{display:block;width:100%;min-width:0;height:38px;line-height:36px;padding:0 6px;margin-bottom:0;border:1px solid transparent;border-radius:9px;background:transparent;font-size:13px;text-align:center;overflow:hidden;text-overflow:ellipsis}.mgmt-tab:hover:not(.is-active):not(.is-disabled){background:transparent;color:var(--text-primary)}.mgmt-tab.is-active{background:var(--card-bg);border-color:var(--border);color:var(--text-primary)}.mgmt-tab-wrap{display:flex;min-width:0}}.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}.tenants-back{display:inline-flex;align-items:center;gap:8px;height:48px;padding:0 16px;border:1.5px solid var(--border);border-radius:var(--radius-field);background:var(--card-bg);color:var(--text-primary);font-family:inherit;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s ease;flex-shrink:0;white-space:nowrap}.tenants-back svg{flex-shrink:0}.tenants-back:hover{background:var(--surface)}.tenants-card{max-width:1060px;margin:0 auto;background:var(--card-bg);border-radius:var(--radius-card);border:1px solid rgba(28,28,30,.06);box-shadow:var(--shadow-pop);overflow:hidden}.tenants-table{width:100%;border-collapse:collapse;font-size:14px}.tenants-table th{text-align:left;padding:14px 18px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;color:var(--text-tertiary);border-bottom:1px solid var(--border);background:var(--surface);white-space:nowrap}.tenants-table td{padding:14px 18px;border-bottom:1px solid var(--border);color:var(--text-primary);vertical-align:middle}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}.tenants-table tbody tr:last-child td{border-bottom:none}.tenants-table tbody tr:hover{background:#fafbfc}.tenants-table th.radio-col,.tenants-table td.radio-cell{width:1%;white-space:nowrap}.tenants-table td.radio-cell{text-align:center;padding-right:0}.tenants-table tbody tr.tenant-row-current,.tenants-table tbody tr.tenant-row-current:hover{background:#f4fcf7}.tenants-table tr.tenant-row-current td:first-child{box-shadow:inset 3px 0 0 var(--accent-green)}.tenants-table tbody tr.tenant-row-switching{opacity:.55}.tenants-table .num{text-align:center;font-variant-numeric:tabular-nums;white-space:nowrap}.tenants-table th.num{text-align:center}.tenant-name{font-weight:600}.tenant-name-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.tenant-name-text{word-break:break-word}.tenant-row-inactive .tenant-name-text{color:var(--text-secondary)}.tenant-admins{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:6px;font-weight:400}.tenant-admins-label{font-size:12px;font-weight:600;color:var(--text-tertiary)}.admin-chip{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--text-secondary);font-family:inherit;font-size:12px;font-weight:500;cursor:pointer;white-space:nowrap;transition:background .15s ease,border-color .15s ease,color .15s ease}.admin-chip-name{font-weight:600;color:var(--text-primary)}.admin-chip-phone{opacity:.75}.admin-chip:hover .admin-chip-name{color:#fff}.admin-chip:hover{background:var(--btn-bg);border-color:var(--btn-bg);color:#fff}.admin-chip:disabled{cursor:default;opacity:.7}.admin-chip:disabled:hover{background:var(--surface);border-color:var(--border);color:var(--text-secondary)}.admin-chip:disabled:hover .admin-chip-name{color:var(--text-primary)}.admin-chip-owner{padding:1px 6px;border-radius:999px;background:#f3ecff;color:#7048c4;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.4px}.other-tenants-card{margin-top:18px}.other-tenants-title{margin:0 0 4px;font-size:15px;font-weight:700;color:var(--text-primary)}.other-tenants-hint{margin:0 0 12px;font-size:13px;color:var(--text-tertiary)}.admin-add{padding:3px 10px;border:1px dashed var(--border);border-radius:999px;background:transparent;color:var(--btn-bg);font-family:inherit;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .15s ease,border-color .15s ease}.admin-add:hover{background:var(--surface);border-color:var(--btn-bg)}.text-tertiary{color:var(--text-tertiary)}.phone-cell{display:flex;align-items:center;gap:10px}.phone-action{padding:4px 12px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--btn-bg);font-family:inherit;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .15s ease,border-color .15s ease,color .15s ease}.phone-action:hover{background:var(--btn-bg);border-color:var(--btn-bg);color:#fff}.phone-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--btn-bg);cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.phone-icon-btn:hover{background:var(--btn-bg);border-color:var(--btn-bg);color:#fff}.badge-row{display:inline-flex;gap:6px;flex-wrap:wrap}.badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600;letter-spacing:.2px;white-space:nowrap}.badge.user{background:#eef2ff;color:#3b5bdb}.badge.admin{background:#e7f7ee;color:#1e9e54}.badge.coordinator{background:#f3ecff;color:#7048c4}.badge.sys-admin{background:#fff1e6;color:#d97706}.badge.inactive{background:#f1f1f3;color:#8a8a8e}.badge.current{background:var(--green-soft);color:var(--green-strong);box-shadow:inset 0 0 0 1px #1e9e5440}.profile-card{max-width:680px;margin:0 auto;background:var(--card-bg);border-radius:var(--radius-card);border:1px solid rgba(28,28,30,.06);box-shadow:var(--shadow-pop);padding:24px}.profile-header{display:flex;align-items:center;gap:16px;padding-bottom:20px;margin-bottom:20px;border-bottom:1px solid var(--border)}.profile-avatar{width:56px;height:56px;border-radius:50%;background:var(--btn-bg);color:#fff;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:700;letter-spacing:.5px;flex-shrink:0}.profile-heading{min-width:0}.profile-title-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.profile-name{margin:0;font-size:20px;font-weight:700;letter-spacing:-.3px;color:var(--text-primary);word-break:break-word}.profile-subtitle{margin:4px 0 0;font-size:14px;color:var(--text-secondary);word-break:break-word}.profile-section+.profile-section{margin-top:24px}.profile-section-title{margin:0 0 12px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--text-tertiary)}.profile-fields{display:grid;gap:14px}.profile-field-label{display:block;font-size:12px;font-weight:600;color:var(--text-tertiary);margin-bottom:3px}.profile-field-value{display:block;font-size:15px;color:var(--text-primary);word-break:break-word}.profile-empty{font-size:14px;color:var(--text-tertiary);margin:0}.profile-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.profile-section-head .profile-section-title{margin:0}.profile-action-btn{flex:none;height:40px;padding:0 18px;border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--card-bg);color:var(--text-primary);font-family:inherit;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease}.profile-action-btn:hover{background:var(--surface);border-color:var(--text-tertiary)}.profile-hint{margin:0;font-size:14px;color:var(--text-secondary)}.actions-col{width:1%;white-space:nowrap}.table-actions{display:flex;gap:8px}.table-btn{padding:7px 12px;border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--card-bg);color:var(--text-primary);font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.table-btn:hover{background:var(--surface)}.table-btn.danger{color:var(--danger);border-color:#d93a3a59}.table-btn:disabled{opacity:.55;cursor:default}.table-btn.danger:hover{background:#d93a3a14;border-color:var(--danger)}.tenants-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:56px 20px;color:var(--text-secondary)}.pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:14px 18px;border-top:1px solid var(--border);background:var(--surface)}.pagination-info{font-size:13px;color:var(--text-secondary)}.pagination-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.pagination-size{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-secondary)}.pagination-size .field-input{width:72px;height:36px;padding:0 10px;font-size:13px;border-radius:var(--radius-sm)}.page-btn{padding:8px 14px;border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--card-bg);color:var(--text-primary);font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s ease,opacity .15s ease}.page-btn:hover:not(:disabled){background:var(--surface)}.page-btn:disabled{opacity:.45;cursor:not-allowed}.pagination-page{font-size:13px;color:var(--text-secondary);font-variant-numeric:tabular-nums}.drawer-section-title{padding:16px 14px 6px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--text-tertiary)}.tenant-item{display:flex;align-items:center;gap:12px;width:100%;padding:12px 14px;border:none;border-radius:12px;background:transparent;font-family:inherit;font-size:15px;font-weight:500;color:var(--text-primary);cursor:pointer;text-align:left;transition:background .15s ease}.tenant-item:hover{background:var(--surface)}.tenant-item.active{background:var(--surface);font-weight:600}.tenant-item.active svg{color:var(--accent-green)}.tenant-item .tenant-check{margin-left:auto;flex-shrink:0;color:transparent}.tenant-item.active .tenant-check{color:var(--accent-green)}@media(max-width:720px){.tenants-table .col-created,.tenants-table .col-relationships{display:none}.tenants-table.user-table th:nth-child(3),.tenants-table.user-table td:nth-child(3),.tenants-table.user-table th:nth-child(6),.tenants-table.user-table td:nth-child(6){display:none}}.person-photo-block{display:flex;align-items:center;gap:14px;padding-bottom:16px;margin-bottom:16px;border-bottom:1px solid var(--border, #dedee4)}.profile-avatar-btn{padding:0;border:none;cursor:pointer;overflow:hidden}.profile-avatar-btn:hover{box-shadow:0 0 0 3px var(--btn-bg)}.profile-avatar img{width:100%;height:100%;object-fit:cover;display:block;border-radius:50%}.person-photo-avatar{width:56px;height:56px;border-radius:50%;object-fit:cover;flex:none;background:var(--card-bg);box-shadow:0 0 0 2px var(--border, #dedee4)}.person-photo-info{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:0}.person-photo-meta{font-size:12px;color:var(--text-tertiary);line-height:1.4}.person-photo-actions{display:flex;flex-wrap:wrap;gap:8px;margin-left:auto}.crop-stage{position:relative;width:100%;height:300px;background:#1b1b1f;border-radius:var(--radius-card, 12px);overflow:hidden}.photo-dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:44px 20px;text-align:center;color:var(--text-secondary);border:2px dashed var(--border, #dedee4);border-radius:var(--radius-card, 12px);background:var(--card-bg);cursor:pointer}.photo-dropzone.is-dragging{border-color:var(--btn-bg);color:var(--text-primary)}.photo-dropzone-hint{font-size:12px;color:var(--text-tertiary)}.photo-preview-row{display:flex;align-items:center;gap:16px}.photo-preview{width:96px;height:96px;border-radius:50%;object-fit:cover;flex:none;background:var(--card-bg);box-shadow:0 0 0 3px var(--border, #dedee4)}.photo-preview-meta{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--text-secondary)}.photo-zoom-row{display:flex;align-items:center;gap:12px;margin-top:16px;font-size:13px;color:var(--text-secondary)}.photo-zoom-row input[type=range]{flex:1}.photo-cell{display:flex;align-items:center;gap:8px}.photo-thumb{width:44px;height:44px;border-radius:50%;object-fit:cover;display:block;flex:none;background:var(--card-bg);box-shadow:0 0 0 1px var(--border, #dedee4)}.badge.photo-pending{background:#fff4d6;color:#b45309}.badge.photo-rejected{background:#fdeceb;color:#c0392b}.badge.active{background:#e7f7ee;color:#1e9e54}.badge.invite-pending{background:#fff4d6;color:#b45309}.badge.invite-expired{background:#f1f1f3;color:#8a8a8e}.badge.invite-used{background:#e7f7ee;color:#1e9e54}.badge.invite-revoked{background:#f1f1f3;color:#8a8a8e}.invite-link-row{display:flex;align-items:center;gap:8px}.invite-link-row .field-input{flex:1;min-width:0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px}.invite-share-row{display:flex;flex-wrap:wrap;gap:8px}.invite-share-row .phone-action{display:inline-flex;align-items:center;text-decoration:none}.home-page{min-height:100vh;min-height:100dvh;background:radial-gradient(1200px 600px at 50% -10%,#f3f3f7 0%,transparent 60%),var(--bg);color:var(--text-primary)}.home-nav{position:sticky;top:0;z-index:20;background:#ffffffd1;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}.home-nav-inner{max-width:1160px;margin:0 auto;padding:12px 24px;display:flex;align-items:center;gap:20px}.home-brand{display:inline-flex;align-items:center;gap:8px;font-size:16px;font-weight:700;letter-spacing:-.2px;color:var(--text-primary);text-decoration:none;white-space:nowrap}.home-nav-links{display:flex;gap:20px;margin-left:auto}.home-nav-links a{font-size:14px;font-weight:500;color:var(--text-secondary);text-decoration:none}.home-nav-links a:hover{color:var(--text-primary)}.primary-btn.home-nav-cta,.primary-btn.home-cta{display:inline-flex;align-items:center;justify-content:center}.primary-btn.home-nav-cta{width:auto;height:40px;padding:0 16px;font-size:14px}.home-hero{max-width:800px;margin:0 auto;padding:76px 24px 40px;text-align:center}.home-eyebrow{margin:0 0 14px;font-size:12px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:var(--green-strong)}.home-hero-title{margin:0;font-size:46px;font-weight:700;line-height:1.08;letter-spacing:-1.4px}.home-hero-lead{max-width:640px;margin:18px auto 0;font-size:17px;line-height:1.6;color:var(--text-secondary)}.home-hero-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:30px}.primary-btn.home-cta{width:auto;padding:0 30px}.home-cta-secondary{display:inline-flex;align-items:center;height:52px;padding:0 24px;border:1px solid var(--border);border-radius:var(--radius-field);background:var(--card-bg);color:var(--text-primary);font-size:15px;font-weight:600;text-decoration:none}.home-cta-secondary:hover{border-color:#d3d3dc}.home-hero-note{max-width:560px;margin:18px auto 0;font-size:13px;line-height:1.55;color:var(--text-tertiary)}.home-section{max-width:1160px;margin:0 auto;padding:52px 24px}.home-section-title{margin:0;font-size:30px;font-weight:700;letter-spacing:-.8px}.home-section-lead{max-width:680px;margin:10px 0 0;font-size:16px;line-height:1.6;color:var(--text-secondary)}.home-explore-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:24px;align-items:start;margin-top:28px}.home-diagram-panel{padding:12px;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-pop)}.home-diagram-scroll{overflow-x:auto;border-radius:var(--radius-sm);background-color:var(--surface);background-image:radial-gradient(rgba(28,28,30,.09) 1px,transparent 1px);background-size:22px 22px}.home-diagram{display:block;width:100%;min-width:680px;height:auto}.home-diagram-hint{min-height:18px;margin:10px 0 0;font-size:12.5px;color:var(--text-tertiary)}.home-legend{display:flex;flex-wrap:wrap;gap:14px;margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.home-legend-item{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;color:var(--text-secondary)}.home-swatch{width:20px;height:14px;border:2px solid transparent;border-radius:5px}.home-swatch.gender-male{background:linear-gradient(var(--card-bg),var(--card-bg)) padding-box,linear-gradient(135deg,#c9dcf8,#94b9ef) border-box}.home-swatch.gender-female{background:linear-gradient(var(--card-bg),var(--card-bg)) padding-box,linear-gradient(135deg,#f9d2e6,#efa9cc) border-box}.home-swatch-svg{width:26px;height:16px;fill:none;stroke:#c7c7cf;stroke-width:2;stroke-linecap:round}.home-panel{position:sticky;top:76px;max-height:calc(100vh - 100px);overflow-y:auto;padding:20px;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-pop)}.home-panel-eyebrow{margin:0;font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--text-tertiary)}.home-panel-name{margin:6px 0 0;font-size:22px;letter-spacing:-.4px}.home-panel-definition{margin:8px 0 0;font-size:13.5px;line-height:1.55;color:var(--text-secondary)}.home-panel-empty{margin:18px 0 0;font-size:13.5px;line-height:1.55;color:var(--text-secondary)}.home-relation-groups{display:flex;flex-direction:column;gap:16px;margin:18px 0 0;padding:0;list-style:none}.home-relation-group{padding-top:14px;border-top:1px solid var(--border)}.home-relation-title{margin:0;font-size:13px;font-weight:700}.home-relation-definition{margin:5px 0 0;font-size:12.5px;line-height:1.5;color:var(--text-tertiary)}.home-relation-members{display:flex;flex-direction:column;gap:6px;margin:10px 0 0;padding:0;list-style:none}.home-relation-member{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.home-relation-person{padding:0;border:none;background:none;font:inherit;font-size:14px;font-weight:600;color:var(--green-strong);text-align:left;cursor:pointer}.home-relation-person:hover{text-decoration:underline}.home-relation-label{font-size:12px;font-weight:600;white-space:nowrap;color:var(--text-secondary)}.home-relation-label.tone-close{color:var(--green-strong)}.home-steps,.home-features{display:grid;gap:18px;margin:28px 0 0;padding:0;list-style:none}.home-steps{grid-template-columns:repeat(4,minmax(0,1fr))}.home-features{grid-template-columns:repeat(3,minmax(0,1fr))}.home-step,.home-feature{padding:18px;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-sm)}.home-step-number{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--btn-bg);color:#fff;font-size:13px;font-weight:700}.home-step-title,.home-feature-title{margin:0;font-size:16px}.home-step-title{margin-top:12px}.home-step-body,.home-feature-body{margin:8px 0 0;font-size:13.5px;line-height:1.55;color:var(--text-secondary)}.home-faq{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:24px}.home-faq-item{padding:14px 16px;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-sm)}.home-faq-question{display:flex;justify-content:space-between;gap:12px;font-size:15px;font-weight:600;cursor:pointer;list-style:none}.home-faq-question::-webkit-details-marker{display:none}.home-faq-question:after{content:"+";color:var(--text-tertiary);font-weight:700}.home-faq-item[open] .home-faq-question:after{content:"−"}.home-faq-answer{margin:10px 0 0;font-size:13.5px;line-height:1.6;color:var(--text-secondary)}.home-footer{margin-top:40px;background:#fff9;border-top:1px solid var(--border)}.home-footer-inner{display:flex;flex-wrap:wrap;gap:24px;align-items:flex-start;justify-content:space-between;max-width:1160px;margin:0 auto;padding:32px 24px}.home-footer-name{font-size:15px;font-weight:700}.home-footer-tagline{max-width:320px;margin:6px 0 0;font-size:13px;line-height:1.55;color:var(--text-secondary)}.home-footer-links{display:flex;flex-wrap:wrap;gap:18px}.home-footer-links a{font-size:13.5px;color:var(--text-secondary);text-decoration:none}.home-footer-links a:hover{color:var(--text-primary)}.home-footer-copy{width:100%;margin:0;font-size:12.5px;color:var(--text-tertiary)}.home-edge{fill:none;stroke:#c7c7cf;stroke-width:2;stroke-linecap:round}.home-edge.focused{stroke:var(--text-primary);stroke-width:2.5}.home-row-caption{font-size:11.5px;font-weight:700;letter-spacing:1.1px;text-transform:uppercase;fill:var(--text-tertiary)}.home-node{cursor:pointer;outline:none}.home-node-card{fill:var(--card-bg);stroke:#dedee4;stroke-width:1.5;filter:drop-shadow(0 4px 10px rgba(17,17,26,.1));transition:opacity .12s ease,stroke .12s ease,stroke-width .12s ease}.home-node.gender-male .home-node-card{fill:var(--card-bg);stroke:url(#home-gender-male-grad);stroke-width:3}.home-node.gender-female .home-node-card{fill:var(--card-bg);stroke:url(#home-gender-female-grad);stroke-width:3}.home-node.gender-male .node-avatar-ring{stroke:url(#home-gender-male-grad)}.home-node.gender-female .node-avatar-ring{stroke:url(#home-gender-female-grad)}.home-node-label{font-size:11.5px;font-weight:600;fill:var(--text-primary);pointer-events:none}.home-node-badge{font-size:12.5px;font-weight:600;pointer-events:none}.home-node-badge.tone-close{fill:var(--green-strong)}.home-node-badge.tone-extended{fill:var(--text-secondary)}.home-node.tone-extended .home-node-card{opacity:.92}.home-node-ring{fill:none;stroke:var(--btn-bg);stroke-width:2.5;filter:none;pointer-events:none}.home-node-ring.is-preview{stroke-dasharray:5 3}@media(max-width:1024px){.home-hero{padding-top:60px}.home-hero-title{font-size:38px}.home-explore-grid{grid-template-columns:minmax(0,1fr)}.home-panel{position:static;max-height:none}.home-steps,.home-features{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.home-nav-inner{padding:10px 18px}.home-nav-links{display:none}.home-hero{padding:44px 18px 32px}.home-hero-title{font-size:30px;letter-spacing:-.9px}.home-hero-lead{font-size:16px}.home-hero-actions{flex-direction:column;align-items:stretch}.primary-btn.home-cta,.home-cta-secondary{width:100%;justify-content:center}.home-section{padding:40px 18px}.home-section-title{font-size:24px}.home-diagram-panel{padding:12px}.home-steps,.home-features,.home-faq{grid-template-columns:minmax(0,1fr)}.home-footer-inner{padding:26px 18px}}
