.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:createModalFadeIn .15s ease}@keyframes createModalFadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;max-width:500px;width:90%;max-height:90vh;display:flex;flex-direction:column;animation:createModalSlideUp .2s ease}@keyframes createModalSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #e0e0e0}.modal-header h2{margin:0;font-size:1.25rem;font-weight:600;color:#333}.modal-close{background:none;border:none;padding:4px;cursor:pointer;color:#666;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:background-color .15s,color .15s}html.hover-enabled .modal-close:hover{background-color:#f0f0f0;color:#333}.modal-body{padding:24px;flex:1 1 auto;min-height:0;overflow-y:auto}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid #e0e0e0;background-color:#fafafa;border-radius:0 0 12px 12px}.create-skill-modal .form-group{margin-bottom:20px}.create-skill-modal .form-group:last-of-type{margin-bottom:8px}.create-skill-modal label{display:block;font-size:.875rem;font-weight:600;color:#333;margin-bottom:8px}.create-skill-modal input[type=text],.create-skill-modal textarea{width:100%;padding:10px 12px;border:1px solid #e0e0e0;border-radius:6px;font-size:.9375rem;font-family:inherit;transition:border-color .15s,box-shadow .15s}.create-skill-modal input[type=text]:focus,.create-skill-modal textarea:focus{outline:none;border-color:#1976d2;box-shadow:0 0 0 3px #1976d21a}.create-skill-modal textarea{resize:vertical;min-height:80px}.selected-milestones{display:flex;flex-wrap:wrap;align-content:flex-start;gap:8px;margin-bottom:12px;max-height:120px;overflow-y:auto;padding-right:6px;overscroll-behavior:contain;scrollbar-gutter:stable}.milestone-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 8px 4px 12px;background-color:#e3f2fd;color:#1565c0;border-radius:16px;font-size:.8125rem;font-weight:500}.milestone-chip button{background:none;border:none;padding:2px;cursor:pointer;color:#1565c0;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .15s}html.hover-enabled .milestone-chip button:hover{background-color:#1565c033}.milestone-dropdown{position:relative}.dropdown-trigger{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border:1px solid #e0e0e0;border-radius:6px;cursor:pointer;background:#fff;transition:border-color .15s}html.hover-enabled .dropdown-trigger:hover{border-color:#bdbdbd}.dropdown-trigger.open{border-color:#1976d2;box-shadow:0 0 0 3px #1976d21a}.dropdown-trigger.disabled{background:#f5f5f5;color:#666;cursor:default}html.hover-enabled .dropdown-trigger.disabled:hover{border-color:#e0e0e0}.dropdown-placeholder{color:#666;font-size:.9375rem}.dropdown-chevron{color:#666;transition:transform .2s}.dropdown-trigger.open .dropdown-chevron{transform:rotate(180deg)}.dropdown-menu-portal{background:#fff;border:1px solid #e0e0e0;border-radius:6px;box-shadow:0 4px 20px #00000040;z-index:2000;max-height:320px;display:flex;flex-direction:column;overflow:hidden}.dropdown-search{padding:8px;border-bottom:1px solid #e0e0e0}.dropdown-search input{width:100%;padding:8px 12px;border:1px solid #e0e0e0;border-radius:4px;font-size:.875rem;outline:none}.dropdown-search input:focus{border-color:#1976d2}.dropdown-options{overflow-y:auto;flex:1}.dropdown-option{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;cursor:pointer;transition:background-color .1s}html.hover-enabled .dropdown-option:hover{background-color:#f5f5f5}.dropdown-option.selected{background-color:#e3f2fd}.dropdown-option input[type=checkbox]{margin-top:2px;flex-shrink:0}.option-content{display:flex;flex-direction:column;gap:2px;min-width:0}.option-label{font-size:.875rem;color:#333;line-height:1.3}.option-competency{font-size:.75rem;color:#666}.dropdown-empty{padding:16px;text-align:center;color:#999;font-size:.875rem}.checkbox-label{display:flex;align-items:center;gap:12px;cursor:pointer;font-weight:400!important;padding:8px 12px;background:#f8f9fa;border-radius:8px;border:1px solid #e0e0e0;transition:background-color .15s,border-color .15s}html.hover-enabled .checkbox-label:hover{background:#f0f4f8;border-color:#bdbdbd}.checkbox-label input[type=checkbox]{position:relative;width:40px;height:22px;-moz-appearance:none;appearance:none;-webkit-appearance:none;background:#ccc;border-radius:11px;cursor:pointer;transition:background-color .2s;flex-shrink:0}.checkbox-label input[type=checkbox]:before{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;background:#fff;border-radius:50%;box-shadow:0 1px 3px #0003;transition:transform .2s}.checkbox-label input[type=checkbox]:checked{background:#1976d2}.checkbox-label input[type=checkbox]:checked:before{transform:translate(18px)}.checkbox-label input[type=checkbox]:focus-visible{outline:2px solid #1976d2;outline-offset:2px}.checkbox-label span{font-size:.9375rem;color:#333}.harmonized-toggle-group{margin-top:8px}.toggle-label{display:flex;align-items:center;justify-content:center;gap:16px;position:relative;cursor:pointer;font-weight:400!important;padding:12px 64px 12px 16px;background:#f8f9fa;border-radius:8px;border:1px solid #e0e0e0;transition:background-color .15s,border-color .15s}html.hover-enabled .toggle-label:hover{background:#f0f4f8;border-color:#bdbdbd}.toggle-label.checked{background:#fff8e1;border-color:#f6c948}.toggle-label input[type=checkbox]{position:absolute;right:16px;top:50%;transform:translateY(-50%);width:44px;height:24px;-moz-appearance:none;appearance:none;-webkit-appearance:none;background:#ccc;border-radius:12px;cursor:pointer;transition:background-color .2s;flex-shrink:0}.toggle-label input[type=checkbox]:before{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;background:#fff;border-radius:50%;box-shadow:0 1px 3px #0003;transition:transform .2s}.toggle-label input[type=checkbox]:checked{background:#f6c948}.toggle-label input[type=checkbox]:checked:before{transform:translate(20px)}.toggle-label input[type=checkbox]:focus-visible{outline:2px solid #f6c948;outline-offset:2px}.toggle-label .toggle-text{font-size:.9375rem;color:#333;flex:1;text-align:center;line-height:1.2}.toggle-label.checked .toggle-text{color:#6f5400;font-weight:500}.specialty-chip{background-color:#e3f2fd;color:#1565c0}.specialty-chip button{color:#1565c0}html.hover-enabled .specialty-chip button:hover{background-color:#1565c033}.milestone-chip.milestone-chip-green{background-color:#e8f5e9;color:#2e7d32}.milestone-chip.milestone-chip-green button{color:#2e7d32}html.hover-enabled .milestone-chip.milestone-chip-green button:hover{background-color:#2e7d3233}.skill-chip{background-color:#ffb74d;color:#8a3f00}.skill-chip button{color:#8a3f00}html.hover-enabled .skill-chip button:hover{background-color:#e6510033}.name-prompt-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000}.name-prompt-modal{background:#fff;border-radius:12px;padding:32px;max-width:400px;width:90%;box-shadow:0 20px 60px #0000004d}.name-prompt-modal h2{margin:0 0 12px;font-size:1.5rem;color:#1a1a2e}.name-prompt-modal p{margin:0 0 24px;color:#666;line-height:1.5}.name-prompt-modal form{display:flex;flex-direction:column;gap:16px}.name-prompt-modal input{padding:12px 16px;font-size:1rem;border:2px solid #e0e0e0;border-radius:8px;outline:none;transition:border-color .2s}.name-prompt-modal input:focus{border-color:#64b5f6}.name-prompt-modal input:disabled{background:#f5f5f5}.name-prompt-modal button{padding:12px 24px;font-size:1rem;font-weight:600;background:#1976d2;color:#fff;border:none;border-radius:8px;cursor:pointer;transition:background .2s}html.hover-enabled .name-prompt-modal button:hover:not(:disabled){background:#1565c0}.name-prompt-modal button:disabled{background:#ccc;cursor:not-allowed}.name-prompt-error{color:#d32f2f;font-size:.875rem;margin:0}.info-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;animation:infoModalFadeIn .15s ease}@keyframes infoModalFadeIn{0%{opacity:0}to{opacity:1}}.info-modal{background:#fff;border-radius:12px;padding:32px;max-width:600px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;position:relative;animation:infoModalSlideUp .2s ease}@keyframes infoModalSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.info-modal-close{position:absolute;top:16px;right:16px;background:none;border:none;font-size:2rem;line-height:1;cursor:pointer;color:#666;padding:4px 8px;transition:color .2s}html.hover-enabled .info-modal-close:hover{color:#1a1a2e}.info-modal h2{margin:0 0 8px;font-size:2rem;color:#1a1a2e;letter-spacing:.1em;font-weight:700}.info-modal-subtitle{margin:0 0 24px;color:#666;font-size:.95rem;line-height:1.5}.info-modal-content{display:flex;flex-direction:column;gap:24px}.info-modal-content section{border-top:1px solid #e0e0e0;padding-top:16px}.info-modal-content h3{margin:0 0 12px;font-size:1.1rem;color:#1a1a2e;font-weight:600}.info-modal-content p{margin:0 0 12px;color:#444;line-height:1.6}.info-modal-content p:last-child{margin-bottom:0}.info-modal-content ul{margin:0;padding-left:20px;color:#444;line-height:1.8}.info-modal-content li{margin-bottom:8px}.info-modal-content li:last-child{margin-bottom:0}.info-modal-footer{border-top:2px solid #e0e0e0;text-align:center}.info-modal-footer p{color:#666;font-size:.9rem;margin:0}.info-modal-legend{display:flex;flex-wrap:wrap;gap:12px 24px}.legend-row{display:flex;align-items:center;gap:8px;color:#444}.legend-dot{width:16px;height:16px;border-radius:50%;flex-shrink:0}.legend-dot.specialty{background-color:#64b5f6}.legend-dot.milestone{background-color:#81c784}.legend-dot.milestone.draft{border:2px dashed #2e7d32;background-color:#a5d6a7}.legend-dot.milestone.harmonized{box-shadow:0 0 0 2px gold,inset 0 0 0 1px #fff}.legend-dot.skill{background-color:#ffb74d}.legend-dot.skill.draft{border:2px dashed #e65100;background-color:#ffcc80}.user-menu-trigger{display:flex;align-items:center;gap:6px;padding:6px 12px;background-color:#f0f0f0;border:1px solid transparent;border-radius:16px;cursor:pointer;transition:background-color .15s,border-color .15s}html.hover-enabled .user-menu-trigger:hover{background-color:#e8e8e8}.user-menu-trigger.open{background-color:#e0e0e0;border-color:#ccc}.user-menu-trigger-name{font-size:.875rem;color:#333;font-weight:500}.user-menu-chevron{color:#666;transition:transform .2s ease}.user-menu-chevron.rotated{transform:rotate(180deg)}.user-menu-dropdown{min-width:180px;background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 4px 20px #00000026;z-index:2000;overflow:hidden;animation:userMenuFadeIn .15s ease}@keyframes userMenuFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.user-menu-info{padding:12px 16px}.user-menu-name{font-size:.9375rem;font-weight:600;color:#333;margin-bottom:2px}.user-menu-role{font-size:.75rem;color:#666;text-transform:capitalize}.user-menu-name-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.user-menu-rename-btn{background:none;border:none;padding:4px;cursor:pointer;color:#9aa8bb;border-radius:4px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:color .15s,background-color .15s}html.hover-enabled .user-menu-rename-btn:hover{color:#1976d2;background-color:#eef4ff}.user-menu-rename-form{display:flex;flex-direction:column;gap:6px}.user-menu-rename-input{width:100%;padding:5px 8px;font-size:.875rem;border:1px solid #b0c4de;border-radius:5px;outline:none;box-sizing:border-box}.user-menu-rename-input:focus{border-color:#1976d2;box-shadow:0 0 0 2px #1976d226}.user-menu-rename-error{font-size:.75rem;color:#d32f2f}.user-menu-rename-actions{display:flex;gap:6px}.user-menu-rename-save{flex:1;padding:5px 0;font-size:.8125rem;font-weight:500;background:#1976d2;color:#fff;border:none;border-radius:5px;cursor:pointer;transition:background-color .15s}html.hover-enabled .user-menu-rename-save:hover:not(:disabled){background:#1565c0}.user-menu-rename-save:disabled{opacity:.55;cursor:default}.user-menu-rename-cancel{flex:1;padding:5px 0;font-size:.8125rem;background:#f0f0f0;color:#444;border:1px solid #ddd;border-radius:5px;cursor:pointer;transition:background-color .15s}html.hover-enabled .user-menu-rename-cancel:hover:not(:disabled){background:#e4e4e4}.user-menu-setting-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 16px 12px}.user-menu-setting-text{display:flex;flex-direction:column;gap:2px}.user-menu-setting-label{font-size:.8125rem;color:#333;font-weight:500}.user-menu-setting-value{font-size:.6875rem;color:#75839a;letter-spacing:.04em;text-transform:uppercase}.user-mode-switch{width:36px;height:20px;border:none;border-radius:999px;background:#d7deea;position:relative;cursor:pointer;transition:background-color .2s ease;flex-shrink:0}.user-mode-switch-thumb{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 4px #0f172a38;transition:transform .2s ease}.user-mode-switch.on{background:#1976d2}.user-mode-switch.on .user-mode-switch-thumb{transform:translate(16px)}.user-menu-divider{height:1px;background-color:#e0e0e0}.user-menu-item{width:100%;padding:10px 16px;background:none;border:none;text-align:left;cursor:pointer;font-size:.875rem;transition:background-color .15s}html.hover-enabled .user-menu-item:hover{background-color:#f5f5f5}.user-menu-logout{color:#d32f2f}html.hover-enabled .user-menu-logout:hover{background-color:#ffebee}.presence-indicators{display:flex;align-items:center;flex-direction:row-reverse;margin-right:8px}.presence-avatar{position:relative;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.8125rem;font-weight:600;color:#fff;border:2px solid white;margin-left:-8px;cursor:default;transition:transform .15s ease}.presence-avatar:first-child{margin-left:0}html.hover-enabled .presence-avatar:hover{transform:translateY(-2px)}.presence-overflow{background-color:#9e9e9e;font-size:.6875rem}.presence-tooltip{position:absolute;top:100%;left:50%;transform:translate(-50%);margin-top:8px;padding:6px 10px;background-color:#333;color:#fff;font-size:.75rem;font-weight:500;white-space:nowrap;border-radius:4px;opacity:0;visibility:hidden;transition:opacity .15s ease,visibility .15s ease;pointer-events:none;z-index:1000}.presence-tooltip:after{content:"";position:absolute;bottom:100%;left:50%;transform:translate(-50%);border:5px solid transparent;border-bottom-color:#333}html.hover-enabled .presence-avatar:hover .presence-tooltip{opacity:1;visibility:visible}.presence-tooltip-list{max-width:200px;white-space:normal;text-align:center;line-height:1.4}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;width:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5}.app{display:flex;flex-direction:column;height:100%}.app-header{padding:.75rem 1.5rem;background-color:#fff;border-bottom:1px solid #e0e0e0;box-shadow:0 1px 3px #00000014;display:flex;align-items:center;justify-content:space-between}.header-title{display:flex;align-items:center;gap:10px}.app-header h1{font-size:1.25rem;font-weight:600;color:#333;letter-spacing:.05em;margin:0}.compass-icon{display:block;filter:drop-shadow(0 1px 2px rgba(21,101,192,.22))}.btn-info{background:#fff;border:1px solid #d9e2ef;border-radius:50%;width:26px;height:26px;display:flex;align-items:center;justify-content:center;padding:0;cursor:pointer;color:#4f627f;box-shadow:0 1px 1px #0f172a0f;transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s}.btn-info svg{width:14px;height:14px}html.hover-enabled .btn-info:hover{background:#eef4ff;border-color:#1976d2;color:#1565c0;box-shadow:0 2px 6px #1976d224}.btn-info:active{background:#e6efff;box-shadow:0 1px 3px #1976d224}.btn-info:focus-visible{outline:none;border-color:#1976d2;box-shadow:0 0 0 3px #1976d233}.btn-icon{background:#fff;border:1px solid #d9e2ef;border-radius:50%;width:26px;height:26px;display:flex;align-items:center;justify-content:center;padding:0;cursor:pointer;color:#4f627f;box-shadow:0 1px 1px #0f172a0f;transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s}.btn-icon svg{width:14px;height:14px}html.hover-enabled .btn-icon:hover{background:#eef4ff;border-color:#1976d2;color:#1565c0;box-shadow:0 2px 6px #1976d224}.btn-icon:active{background:#e6efff;box-shadow:0 1px 3px #1976d224}.btn-icon:focus-visible{outline:none;border-color:#1976d2;box-shadow:0 0 0 3px #1976d233}.header-actions{display:flex;align-items:center;gap:12px}.create-menu{position:relative}.btn-create{display:flex;align-items:center;gap:6px;padding:6px 12px;font-size:.8125rem;font-weight:500;background-color:#1976d2;color:#fff;border:none;border-radius:6px;cursor:pointer;transition:background-color .15s}html.hover-enabled .btn-create:hover{background-color:#1565c0}.btn-create .chevron{transition:transform .2s}.btn-create .chevron.open{transform:rotate(180deg)}.create-menu-dropdown{position:absolute;top:calc(100% + 4px);right:0;min-width:160px;background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;border:1px solid #e0e0e0;z-index:100;overflow:hidden;animation:dropdownFade .15s ease}@keyframes dropdownFade{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.create-menu-dropdown button{display:flex;align-items:center;gap:10px;width:100%;padding:10px 14px;background:none;border:none;font-size:.875rem;color:#333;cursor:pointer;text-align:left;transition:background-color .1s}html.hover-enabled .create-menu-dropdown button:hover{background-color:#f5f5f5}.create-menu-dropdown button svg{color:#666;flex-shrink:0}.create-menu-dropdown button:first-child{border-bottom:1px solid #f0f0f0}.user-badge{font-size:.875rem;color:#666;background-color:#f0f0f0;padding:6px 12px;border-radius:16px}.app-loading{display:flex;align-items:center;justify-content:center;height:100%;color:#666;font-size:1rem}.app-main{flex:1;overflow:hidden;position:relative;display:flex;flex-direction:row}.graph-view{flex:1;min-width:0;height:100%;position:relative;background-color:#fafafa;overflow:hidden}.graph-container{width:100%;height:100%;background-color:#fafafa;transition:opacity .26s ease,filter .26s ease}.graph-view.mode-fade .graph-container{opacity:.1;filter:saturate(.75)}.graph-mode-fade{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:0;background:linear-gradient(180deg,#e8eff96b,#f1f6fc4d);transition:opacity .26s ease}.graph-mode-fade.active{opacity:1}.graph-loading-skeleton{flex:1;min-width:0;height:100%;background:linear-gradient(140deg,#f4f7fa,#edf2f8 45%,#f8fbfd);position:relative;overflow:hidden}.graph-loading-shimmer{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(110deg,#fff0 20%,#ffffff73,#fff0 70%);transform:translate(-100%);animation:graphShimmer 1.2s ease-in-out infinite}.graph-refresh-overlay{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(180deg,#f8fbff33,#f2f7fc1f);display:flex;justify-content:flex-end;align-items:flex-start;padding:12px;opacity:1;transition:opacity .18s ease}.graph-refresh-pill{background:#ffffffe6;border:1px solid #d7e2ef;border-radius:999px;color:#5d6f88;font-size:.7rem;letter-spacing:.03em;padding:4px 10px;box-shadow:0 1px 4px #0f172a14}@keyframes graphShimmer{to{transform:translate(100%)}}.graph-loading,.graph-error{display:flex;align-items:center;justify-content:center;height:100%;color:#666;font-size:1rem}.graph-error{color:#d32f2f}.node-sidebar{position:relative;height:100%;background-color:#fff;border-right:1px solid #e0e0e0;display:flex;flex-direction:column;transition:width .25s cubic-bezier(.4,0,.2,1);z-index:100;overflow:visible;box-shadow:2px 0 8px #0000001a;flex-shrink:0}.node-sidebar.expanded{width:280px}.node-sidebar.collapsed{width:0;border-right:none}.node-sidebar.collapsed .sidebar-toggle{right:-40px;width:32px;height:32px}.node-sidebar.loading-skeleton{padding:12px 14px;gap:12px}.sidebar-skeleton-title,.sidebar-skeleton-search,.sidebar-skeleton-group{border-radius:8px;background:linear-gradient(110deg,#eef2f7 25%,#f8fafc,#eef2f7 75%);background-size:200% 100%;animation:sidebarShimmer 1.1s linear infinite}.sidebar-skeleton-title{height:18px;width:72%}.sidebar-skeleton-search{height:34px;width:100%;border-radius:10px}.sidebar-skeleton-group{height:68px;width:100%}.sidebar-skeleton-group.short{height:48px;width:88%}@keyframes sidebarShimmer{to{background-position:-200% 0}}.sidebar-toggle{position:absolute;right:-12px;top:12px;width:24px;height:24px;border-radius:50%;background-color:#fff;border:1px solid #e0e0e0;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:11;box-shadow:0 1px 3px #0000001a;transition:background-color .15s}html.hover-enabled .sidebar-toggle:hover{background-color:#f5f5f5}.toggle-icon{transition:transform .2s ease}.toggle-icon.rotated{transform:rotate(180deg)}.sidebar-content{display:flex;flex-direction:column;height:100%;overflow:hidden;animation:slideIn .2s cubic-bezier(.4,0,.2,1)}@keyframes slideIn{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}.sidebar-header{padding:12px 16px;border-bottom:1px solid #e0e0e0;display:flex;align-items:center;justify-content:space-between;gap:8px}.sidebar-header h2{font-size:.875rem;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.05em;margin:0}.focus-filter-badge{font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#1976d2;background:#1976d21a;padding:2px 6px;border-radius:4px}.sidebar-search{padding:12px 16px;position:relative}.search-input{width:100%;padding:8px 32px 8px 12px;border:1px solid #e0e0e0;border-radius:6px;font-size:.875rem;outline:none;transition:border-color .15s,box-shadow .15s}.search-input:focus{border-color:#1976d2;box-shadow:0 0 0 2px #1976d21a}.search-input::placeholder{color:#999}.search-clear{position:absolute;right:24px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;color:#999;border-radius:4px}html.hover-enabled .search-clear:hover{color:#666;background-color:#f0f0f0}.search-results-count{padding:4px 16px 8px;font-size:.75rem;color:#666}.sidebar-groups{flex:1;overflow-y:auto;padding-bottom:16px}.node-group{margin-top:4px}.group-header{width:100%;padding:8px 16px;display:flex;align-items:center;gap:8px;background:none;border:none;cursor:pointer;text-align:left;transition:background-color .15s}html.hover-enabled .group-header:hover{background-color:#f5f5f5}.group-chevron{transition:transform .15s ease;color:#999;flex-shrink:0}.group-chevron.expanded{transform:rotate(90deg)}.group-label{font-size:.8125rem;font-weight:600;flex:1}.group-label.type-specialty{color:#1565c0}.group-label.type-milestone{color:#2e7d32}.group-label.type-skill{color:#e65100}.group-count{font-size:.75rem;color:#999;background-color:#f0f0f0;padding:2px 6px;border-radius:10px}.node-list{list-style:none;margin:0;padding:0}.node-item{width:100%;padding:6px 16px 6px 28px;display:flex;align-items:center;gap:8px;background:none;border:none;cursor:pointer;text-align:left;font-size:.8125rem;color:#333;transition:background-color .15s}html.hover-enabled .node-item:hover,.node-item.graph-hovered{background-color:#f5f5f5}.node-item.selected{background-color:#e3f2fd;font-weight:600}.node-item.selected.type-specialty{background-color:#1976d21a}.node-item.selected.type-milestone{background-color:#2e7d321a}.node-item.selected.type-skill{background-color:#e651001a}.node-indicator{width:8px;height:8px;border-radius:50%;flex-shrink:0}.node-item.type-specialty .node-indicator{background-color:#64b5f6}.node-item.type-milestone .node-indicator{background-color:#81c784}.node-item.type-skill .node-indicator{background-color:#ffb74d}.node-item.type-milestone .node-indicator.harmonized{box-shadow:0 0 0 2px gold,inset 0 0 0 1px #fff}.node-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.no-results{padding:24px 16px;text-align:center;color:#999;font-size:.875rem}.node-detail-panel{position:absolute;bottom:0;left:0;right:0;background-color:#fff;border-top:1px solid #e0e0e0;box-shadow:0 -2px 12px #0000001a;z-index:200;max-height:clamp(240px,34vh,360px);animation:slideUp .25s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column}@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.detail-panel-header{display:flex;align-items:center;justify-content:space-between;padding:10px 22px;border-bottom:1px solid #e4ebf2;background:linear-gradient(180deg,#fbfcfe,#f5f8fb);width:100%;border:none;cursor:pointer;transition:background-color .15s;flex-shrink:0}html.hover-enabled .detail-panel-header:hover{background:linear-gradient(180deg,#f8fbff,#eef3f9)}.detail-panel-title{display:flex;align-items:center;gap:14px;min-width:0}.detail-panel-title h2{font-size:1.0625rem;font-weight:600;color:#1f2937;line-height:1.3;margin:0;max-width:min(70vw,760px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.detail-type-badge{padding:4px 10px;border-radius:4px;font-size:.75rem;font-weight:600;color:#fff;text-transform:uppercase;letter-spacing:.03em}.detail-panel-chevron{color:#666;flex-shrink:0}.detail-panel-content{padding:12px 22px 14px;display:flex;flex-direction:column;gap:10px;overflow-x:hidden;overflow-y:auto;flex:1;min-height:0}.detail-meta-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px}.detail-meta-item{display:flex;align-items:center;gap:6px}.meta-label{font-size:.75rem;font-weight:500;color:#8293a7;text-transform:uppercase;letter-spacing:.03em}.meta-value{font-size:.8125rem;font-weight:600;color:#374151}.meta-status.published{color:#16a34a}.meta-status.draft{color:#d97706}.detail-meta-item+.detail-meta-item:before{content:"";display:inline-block;width:3px;height:3px;border-radius:50%;background-color:#cbd5e1;margin-right:10px}.detail-meta-actions{display:flex;align-items:center;gap:4px;margin-left:auto}.btn-meta-action{padding:3px 10px;font-size:.75rem;font-weight:500;border:1px solid #d1d5db;border-radius:4px;background:#fff;color:#374151;cursor:pointer;transition:background-color .15s,border-color .15s}html.hover-enabled .btn-meta-action:hover{background:#f3f4f6;border-color:#9ca3af}.btn-meta-promote{color:#1976d2;border-color:#93c5fd}html.hover-enabled .btn-meta-promote:hover{background:#eff6ff;border-color:#60a5fa}.btn-meta-danger{color:#dc2626;border-color:#fca5a5}html.hover-enabled .btn-meta-danger:hover{background:#fef2f2;border-color:#f87171}.detail-description{padding:10px 14px;border-radius:8px;background-color:#f8fafb;border:1px solid #e8eef4}.detail-description-label{display:block;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#8293a7;margin-bottom:4px}.detail-description-text{font-size:.875rem;color:#1f2937;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.detail-bottom-row{display:flex;flex-wrap:wrap;align-items:flex-start;gap:12px 18px}.detail-add-actions{display:flex;flex-wrap:wrap;gap:6px;flex-shrink:0}.btn-add-compact{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;border:1px solid #d1d5db;border-radius:5px;background:#f9fafb;color:#374151;font-size:.78rem;font-weight:500;cursor:pointer;transition:background-color .15s,border-color .15s;white-space:nowrap}html.hover-enabled .btn-add-compact:hover:not(:disabled){background:#f3f4f6;border-color:#9ca3af}.btn-add-compact:disabled{opacity:.5;cursor:not-allowed}.btn-add-milestone{color:#2e7d32;border-color:#a5d6a7;background:#f1f8f1}html.hover-enabled .btn-add-milestone:hover:not(:disabled){background:#e0f2e0;border-color:#66bb6a}.btn-add-specialty{color:#1565c0;border-color:#90caf9;background:#f0f7ff}html.hover-enabled .btn-add-specialty:hover:not(:disabled){background:#dbeafe;border-color:#64b5f6}.btn-add-skill{color:#e65100;border-color:#ffcc80;background:#fff8f0}html.hover-enabled .btn-add-skill:hover:not(:disabled){background:#fff0de;border-color:#ffb74d}.detail-annotations{flex:1 1 280px;min-width:200px;max-width:560px}.detail-annotations h3{font-size:.75rem;font-weight:600;color:#526579;text-transform:uppercase;letter-spacing:.05em;margin-bottom:0}.section-header-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.section-header-row h3{margin-bottom:0}.detail-panel-tab{position:absolute;bottom:0;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:8px;padding:8px 16px;background-color:#fff;border:1px solid #e0e0e0;border-bottom:none;border-radius:8px 8px 0 0;cursor:pointer;z-index:200;box-shadow:0 -2px 8px #00000014;transition:background-color .15s,box-shadow .15s;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0;transform:translate(-50%) translateY(4px)}to{opacity:1;transform:translate(-50%) translateY(0)}}html.hover-enabled .detail-panel-tab:hover{background-color:#fafafa;box-shadow:0 -3px 12px #0000001f}.tab-indicator{width:8px;height:8px;border-radius:50%;flex-shrink:0}.tab-label{font-size:.875rem;font-weight:500;color:#333;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tab-chevron{color:#666;flex-shrink:0}.form-group{margin-bottom:16px}.form-group label{display:block;font-size:.8125rem;font-weight:600;color:#666;margin-bottom:6px}.form-group input[type=text],.form-group textarea{width:100%;padding:8px 12px;border:1px solid #e0e0e0;border-radius:4px;font-size:.875rem;font-family:inherit;transition:border-color .15s}.form-group input[type=text]:focus,.form-group textarea:focus{outline:none;border-color:#1976d2}.form-group textarea{resize:vertical}.button-group{display:flex;gap:8px;margin-top:12px}.btn-primary,.btn-secondary,.btn-danger,.btn-small,.btn-link{padding:8px 16px;border:none;border-radius:4px;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .15s,opacity .15s}.btn-primary{background-color:#1976d2;color:#fff}html.hover-enabled .btn-primary:hover:not(:disabled){background-color:#1565c0}.btn-secondary{background-color:#f0f0f0;color:#333}html.hover-enabled .btn-secondary:hover:not(:disabled){background-color:#e0e0e0}.btn-danger{background-color:#d32f2f;color:#fff}html.hover-enabled .btn-danger:hover:not(:disabled){background-color:#c62828}.btn-small{padding:5px 11px;font-size:.78rem}.btn-link{background:none;color:#1976d2;padding:4px 8px}html.hover-enabled .btn-link:hover:not(:disabled){background-color:#f0f0f0}.btn-link.btn-danger{color:#d32f2f}button:disabled{opacity:.5;cursor:not-allowed}.error-message{padding:8px 12px;background-color:#ffebee;color:#c62828;border-radius:4px;font-size:.8125rem;margin-top:8px}.annotations-list{display:flex;flex-direction:column;gap:10px;margin-bottom:8px;max-height:170px;overflow-y:auto}.annotations-list.compact{max-height:140px}.annotation-item{padding:10px 12px;background-color:#f8fafd;border-radius:6px;border:1px solid #dfe7f1}.annotation-content{font-size:.84rem;color:#253244;white-space:pre-wrap;margin-bottom:6px;line-height:1.5}.annotation-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:.75rem;color:#6e7f93}.annotation-actions{display:flex;gap:6px;margin-left:auto}.form-group.compact{margin-bottom:8px}.form-group.compact label{font-size:.75rem;margin-bottom:4px}.form-group.compact input[type=text],.form-group.compact textarea{padding:6px 10px;font-size:.8125rem}.form-group.compact textarea{min-height:60px;line-height:1.4}@media(max-width:980px){.node-detail-panel{max-height:min(56vh,420px)}.detail-panel-header{padding:10px 14px}.detail-panel-title h2{max-width:72vw;font-size:1rem}.detail-panel-content{padding:10px 14px 14px;gap:10px}.detail-meta-row{gap:4px 12px}.detail-meta-actions{margin-left:0;width:100%;margin-top:2px}.detail-bottom-row{flex-direction:column}.detail-annotations{min-width:100%;max-width:none}.button-group{flex-wrap:wrap}}
