@charset "UTF-8";@font-face{font-family:Arimo;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/arimo-latin-400-normal-DTxlrzhB.woff2) format("woff2"),url(/assets/arimo-latin-400-normal-CDajTWgE.woff) format("woff")}@font-face{font-family:Arimo;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/arimo-latin-500-normal-B2r1UTsP.woff2) format("woff2"),url(/assets/arimo-latin-500-normal-DiLkZz4F.woff) format("woff")}@font-face{font-family:Arimo;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/arimo-latin-600-normal-Bc0ezIrV.woff2) format("woff2"),url(/assets/arimo-latin-600-normal-Dij4KLFb.woff) format("woff")}@font-face{font-family:Arimo;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/arimo-latin-700-normal-CCbsFGPs.woff2) format("woff2"),url(/assets/arimo-latin-700-normal-OWpeoTlT.woff) format("woff")}@font-face{font-family:Arimo;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/arimo-latin-ext-400-normal-CMxb2Isp.woff2) format("woff2"),url(/assets/arimo-latin-ext-400-normal--vCUGxYy.woff) format("woff")}@font-face{font-family:Arimo;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/arimo-latin-ext-500-normal-CFd0_m-w.woff2) format("woff2"),url(/assets/arimo-latin-ext-500-normal-J5JweSAj.woff) format("woff")}@font-face{font-family:Arimo;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/arimo-latin-ext-600-normal-1NIRjCCQ.woff2) format("woff2"),url(/assets/arimo-latin-ext-600-normal-DLcORXMv.woff) format("woff")}@font-face{font-family:Arimo;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/arimo-latin-ext-700-normal-Dk98KdI2.woff2) format("woff2"),url(/assets/arimo-latin-ext-700-normal-DWg974ty.woff) format("woff")}@font-face{font-family:Bebas Neue;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/bebas-neue-latin-400-normal-9mHNbWWO.woff2) format("woff2"),url(/assets/bebas-neue-latin-400-normal-Bi-ndsyu.woff) format("woff")}@font-face{font-family:Bebas Neue;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/bebas-neue-latin-ext-400-normal-DWiEslNC.woff2) format("woff2"),url(/assets/bebas-neue-latin-ext-400-normal-HFKRJXnW.woff) format("woff")}@font-face{font-family:Orbitron;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/orbitron-latin-500-normal-DQ2gt4P1.woff2) format("woff2"),url(/assets/orbitron-latin-500-normal-BCCupJ8c.woff) format("woff")}@font-face{font-family:Orbitron;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/orbitron-latin-700-normal-4jsRXGGJ.woff2) format("woff2"),url(/assets/orbitron-latin-700-normal-DmYOh-W9.woff) format("woff")}@font-face{font-family:Orbitron;font-style:normal;font-display:swap;font-weight:900;src:url(/assets/orbitron-latin-900-normal-DrIi7unX.woff2) format("woff2"),url(/assets/orbitron-latin-900-normal-BbJatbhp.woff) format("woff")}@font-face{font-family:Rajdhani;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/rajdhani-latin-500-normal-ByNUCHrt.woff2) format("woff2"),url(/assets/rajdhani-latin-500-normal-DfvNI-Td.woff) format("woff")}@font-face{font-family:Rajdhani;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/rajdhani-latin-600-normal-CXCVEoA9.woff2) format("woff2"),url(/assets/rajdhani-latin-600-normal-Dx02qI2_.woff) format("woff")}@font-face{font-family:Rajdhani;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/rajdhani-latin-700-normal-BPDUZo87.woff2) format("woff2"),url(/assets/rajdhani-latin-700-normal-e0Uj8ZlN.woff) format("woff")}@font-face{font-family:Rajdhani;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/rajdhani-latin-ext-500-normal-DiyUS11w.woff2) format("woff2"),url(/assets/rajdhani-latin-ext-500-normal-CyRWJZ5B.woff) format("woff")}@font-face{font-family:Rajdhani;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/rajdhani-latin-ext-600-normal-C9ZjJQAt.woff2) format("woff2"),url(/assets/rajdhani-latin-ext-600-normal-BleIgkPp.woff) format("woff")}@font-face{font-family:Rajdhani;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/rajdhani-latin-ext-700-normal-S6aYESQK.woff2) format("woff2"),url(/assets/rajdhani-latin-ext-700-normal-BPaQ7tlD.woff) format("woff")}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Segoe UI,Arial,sans-serif;background:#f0f2f5;color:#2c3e50;min-height:100vh}header{background:linear-gradient(135deg,#2c3e50,#34495e);color:#fff;padding:14px 32px;display:flex;align-items:center;justify-content:space-between;gap:24px;box-shadow:0 2px 8px #00000026}.header-left{display:flex;align-items:center;gap:20px;flex:1}.header-right{display:flex;align-items:flex-end;gap:10px;flex-shrink:0}.header-last-export{font-size:.72em;font-style:italic;color:#ffffff8c;white-space:nowrap}.header-cloud-backup{font-size:.72em;font-style:italic;color:#ffffffb3;white-space:nowrap}.account-selector-wrap{display:flex;align-items:center;gap:6px;background:#ffffff1a;border:1px solid rgba(255,255,255,.25);border-radius:7px;padding:4px 10px 4px 8px}.account-selector-icon{font-size:.95em;line-height:1}.account-selector{background:transparent;border:none;color:#fff;font-size:.85em;font-weight:500;cursor:pointer;outline:none;padding:0}.account-selector option{background:#2c3e50;color:#fff}.account-selector:focus{outline:none}.header-brand{display:flex;align-items:baseline;gap:8px;flex-shrink:0}.header-brand h1{font-size:1.4em;font-weight:600;white-space:nowrap}.header-brand h1 span{color:#3498db}.app-version{font-size:.72em;color:#ffffff73;white-space:nowrap}.view-switch{display:flex;background:#0000004d;border-radius:7px;padding:3px;gap:2px}.view-switch-opt{background:none;border:none;color:#ffffff73;padding:6px 14px;border-radius:5px;font-size:.85em;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.view-switch-opt.active{background:#fff;color:#2c3e50;font-weight:700;box-shadow:0 1px 4px #0003}.view-switch-opt:not(.active):hover{color:#ffffffd9;background:#ffffff1f}#btn-manage-clients{background:#3498db;color:#fff;border:none;padding:8px 18px;border-radius:6px;font-size:.85em;cursor:pointer;transition:background .2s}#btn-manage-clients:hover{background:#2980b9}#btn-manage-roles{background:#e67e22;color:#fff;border:none;padding:8px 18px;border-radius:6px;font-size:.85em;cursor:pointer;transition:background .2s}#btn-manage-roles:hover{background:#cf6d17}#btn-deleted-staffings{background:#e74c3c;color:#fff;border:none;padding:8px 18px;border-radius:6px;font-size:.85em;cursor:pointer;transition:background .2s}#btn-deleted-staffings:hover{background:#c0392b}#btn-export-data{background:#27ae60;color:#fff;border:none;padding:8px 18px;border-radius:6px;font-size:.85em;cursor:pointer;transition:background .2s}#btn-export-data:hover{background:#219a52}#btn-import-data{background:#7f8c8d;color:#fff;border:none;padding:8px 18px;border-radius:6px;font-size:.85em;cursor:pointer;transition:background .2s}#btn-import-data:hover{background:#2c3e50}#btn-export-data:disabled,#btn-import-data:disabled{opacity:.5;cursor:not-allowed}.header-dropdown{position:relative}.header-dropdown-toggle{background:#ffffff26;color:#fff;border:none;padding:8px 18px;border-radius:6px;font-size:.85em;cursor:pointer;transition:background .2s}.header-dropdown-toggle:hover{background:#ffffff40}.header-dropdown-toggle{border:1px solid rgba(255,255,255,.3)}.header-dropdown-toggle.open{background:#ffffff40;border-color:#ffffff80}.header-dropdown-menu{position:absolute;top:calc(100% + 6px);left:0;background:#fff;border:1px solid #bdc3c7;border-radius:8px;box-shadow:0 4px 16px #00000026;z-index:500;min-width:160px;overflow:hidden}.header-dropdown-item{display:block;width:100%;background:none;border:none;padding:10px 16px;text-align:left;font-size:.88em;cursor:pointer;color:#2c3e50;border-bottom:1px solid #ecf0f1;transition:background .15s}.header-dropdown-item:last-child{border-bottom:none}.header-dropdown-item:hover{background:#eaf2f8;color:#2980b9}.btn-main{background:#2c3e50;color:#fff;border:none;padding:8px 20px;border-radius:6px;font-size:.9em;cursor:pointer;margin:0 4px 0 0;transition:background .2s}.btn-main:hover{background:#34495e}.btn-primary{background:#3498db;color:#fff;border:none;padding:7px 18px;border-radius:6px;font-size:.88em;font-weight:600;cursor:pointer;transition:background .18s}.btn-primary:hover{background:#2980b9}.btn-primary.success{background:#27ae60}.btn-primary.success:hover{background:#219a52}.btn-ghost{background:none;color:#7f8c8d;border:1px solid #bdc3c7;padding:7px 14px;border-radius:6px;font-size:.88em;cursor:pointer;transition:background .15s,border-color .15s}.btn-ghost:hover{background:#ecf0f1;border-color:#95a5a6;color:#2c3e50}.btn-secondary{background:#95a5a6!important}.btn-secondary:hover{background:#7f8c8d!important}.btn-history{background:none!important;color:#2c3e50!important;border:1px solid #bdc3c7!important;padding:8px 14px!important}.btn-history:hover{background:#ecf0f1!important}.btn-cancel-edit{background:none;border:none;color:#95a5a6;font-size:1.1em;cursor:pointer;padding:2px 6px}.btn-cancel-edit:hover{background:#f0f0f0;border-radius:4px}.burger-btn{background:none;border:none;cursor:pointer;padding:7px 8px;display:flex;flex-direction:column;gap:5px;border-radius:6px;flex-shrink:0;transition:background .15s}.burger-btn span{display:block;width:20px;height:2px;background:#fff;border-radius:2px;transition:transform .22s ease,opacity .22s ease;transform-origin:center}.burger-btn:hover{background:#ffffff1f}.burger-btn.open span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.burger-btn.open span:nth-child(2){opacity:0;transform:scaleX(0)}.burger-btn.open span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}#nav-overlay{position:fixed;inset:0;background:#00000061;z-index:900;opacity:0;pointer-events:none;transition:opacity .25s}#nav-overlay.open{opacity:1;pointer-events:all}#nav-drawer{position:fixed;top:0;left:0;width:270px;height:100vh;background:#fff;z-index:950;transform:translate(-100%);transition:transform .25s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;box-shadow:4px 0 24px #0000002e}#nav-drawer.open{transform:translate(0)}.nav-drawer-header{background:linear-gradient(135deg,#2c3e50,#34495e);color:#fff;padding:20px 20px 18px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.nav-drawer-title{font-size:1.05em;font-weight:700}.nav-drawer-title span{color:#3498db}#nav-drawer-close{background:none;border:none;color:#fff9;font-size:1em;cursor:pointer;padding:3px 7px;border-radius:4px;line-height:1;transition:background .15s,color .15s}#nav-drawer-close:hover{background:#ffffff26;color:#fff}.nav-drawer-list{list-style:none;padding:10px 0;flex:1;overflow-y:auto}.nav-drawer-item{display:flex;align-items:center;gap:16px;width:100%;background:none;border:none;border-left:3px solid transparent;padding:16px 20px;cursor:pointer;text-align:left;transition:background .15s,border-color .15s}.nav-drawer-item:hover{background:#f0f4f8}.nav-drawer-item.active{background:#eaf2fb;border-left-color:#3498db}.nav-drawer-item.active .nav-item-title{color:#2980b9;font-weight:700}.nav-item-icon{font-size:1.6em;flex-shrink:0;line-height:1}.nav-item-text{display:flex;flex-direction:column;gap:3px}.nav-item-title{font-size:.93em;font-weight:600;color:#2c3e50;line-height:1.2}.nav-item-desc{font-size:.76em;color:#95a5a6;line-height:1.3}.nav-drawer-group-label{font-size:.68em;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#95a5a6;padding:16px 20px 4px;list-style:none}.nav-drawer-group-label:first-child{padding-top:8px}.required-mark{color:red}.modal-overlay{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:#fff;border-radius:10px;padding:28px 32px;width:420px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 8px 30px #00000040}.modal h2{margin-bottom:18px;font-size:1.15em;color:#2c3e50}.modal-wide{width:520px}.modal-staffing{width:560px}.modal-history{max-height:85vh;overflow-y:auto}.modal-add-row{display:flex;gap:8px;margin-bottom:16px}.modal-add-row input{flex:1;padding:8px 12px;border:1px solid #bdc3c7;border-radius:6px;font-size:.9em;outline:none}.modal-add-row input:focus{border-color:#3498db}.modal-add-row button{background:#27ae60;color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:.9em;cursor:pointer}.modal-add-row button:hover{background:#219a52}.modal-actions{display:flex;justify-content:flex-end}.modal-actions button{background:#2c3e50;color:#fff;border:none;padding:8px 20px;border-radius:6px;font-size:.9em;cursor:pointer}.modal-actions button:hover{background:#34495e}.modal-actions-spread{justify-content:space-between}.modal-actions-spread>div{display:flex;gap:8px}.mp-field,.dp-field{position:relative;display:inline-block}.mp-display{background:#fff;border:1px solid #bdc3c7;border-radius:6px;cursor:pointer;text-align:left;min-width:110px}.mp-display:hover{border-color:#3498db}.mp-display{padding:6px 12px;font-size:.9em}.dp-display{background:#fff;border:1px solid #bdc3c7;border-radius:6px;cursor:pointer;text-align:left;min-width:180px}.dp-display:hover{border-color:#3498db}.dp-display{padding:6px 12px;font-size:.85em}.mp-popup{position:absolute;top:calc(100% + 4px);left:0;background:#fff;border:1px solid #bdc3c7;border-radius:8px;padding:12px;z-index:2000;box-shadow:0 4px 16px #00000026;min-width:210px}.dp-popup{position:absolute;top:calc(100% + 4px);left:0;background:#fff;border:1px solid #bdc3c7;border-radius:8px;padding:12px;z-index:2000;box-shadow:0 4px 16px #00000026;width:224px}.mp-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.mp-year-label{font-weight:600;font-size:.95em}.mp-year-btn{background:none;border:none;cursor:pointer;padding:2px 8px;border-radius:4px}.mp-year-btn:hover{background:#ecf0f1}.mp-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}.dp-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;margin-bottom:8px}.mp-month-btn{background:none;border:1px solid transparent;border-radius:4px;cursor:pointer;text-align:center}.mp-month-btn:hover:not(:disabled){background:#eaf2f8;border-color:#3498db}.mp-month-btn:disabled{color:#95a5a6;cursor:not-allowed;opacity:.5}.mp-month-btn{padding:5px 2px;font-size:.82em}.mp-month-btn.mp-selected{background:#3498db;color:#fff;border-color:#3498db}.dp-day-btn{background:none;border:1px solid transparent;border-radius:4px;cursor:pointer;text-align:center}.dp-day-btn:hover:not(:disabled){background:#eaf2f8;border-color:#3498db}.dp-day-btn:disabled{color:#95a5a6;cursor:not-allowed;opacity:.5}.dp-day-btn{padding:4px 2px;font-size:.78em}.dp-day-btn.dp-selected{background:#3498db;color:#fff;border-color:#3498db}.dp-dow{text-align:center;font-size:.72em;font-weight:600;color:#7f8c8d;padding:2px 0 4px}.mp-shortcuts{display:flex;align-items:center;gap:4px;margin-top:8px;padding-top:8px;border-top:1px solid #ecf0f1;flex-wrap:wrap}.mp-shortcuts span{font-size:.8em;color:#7f8c8d;margin-right:2px}.mp-shortcut-btn{background:#ecf0f1;border:none;border-radius:4px;padding:3px 7px;font-size:.78em;cursor:pointer}.mp-shortcut-btn:hover{background:#d5e8f5}.mp-error{color:#e74c3c;font-size:.82em;margin-bottom:8px;padding:4px 8px;background:#fdecea;border-radius:4px}.mp-row{display:flex;flex-direction:column;gap:4px}.mp-row label{font-size:.82em;color:#7f8c8d;font-weight:600}.date-barrel{display:flex;align-items:center;gap:6px;user-select:none}.barrel-cell{display:flex;flex-direction:column;align-items:stretch;border:1px solid #bdc3c7;border-radius:6px;background:#fafafa;overflow:hidden;box-shadow:inset 0 1px #fff9}.barrel-cell:hover{border-color:#3498db}.barrel-arrow{border:0;background:transparent;cursor:pointer;padding:1px 4px;font-size:.65em;color:#aaa;line-height:1}.barrel-arrow:hover{background:#eaf2f8;color:#3498db}.barrel-value{text-align:center;padding:4px 8px;font-size:1.05em;font-weight:600;color:#2c3e50;border-top:1px solid #e5e9ec;border-bottom:1px solid #e5e9ec;background:#fff}.barrel-day .barrel-value{min-width:32px}.barrel-month .barrel-value{min-width:80px;text-transform:capitalize}.barrel-year .barrel-value{min-width:56px}.barrel-info{margin-left:8px;font-size:.85em;color:#7f8c8d;font-style:italic;white-space:nowrap}.dp-clear-btn{width:100%;background:none;border:1px solid #bdc3c7;border-radius:4px;padding:4px 8px;font-size:.82em;cursor:pointer;color:#7f8c8d}.dp-clear-btn:hover{background:#fdecea;border-color:#e74c3c;color:#e74c3c}.ui-tag{display:inline-block;padding:2px 8px;border-radius:10px;font-size:.75em;font-weight:600;color:#fff;background:#95a5a6}.ui-tag--blue{background:#3498db}.ui-tag--green{background:#27ae60}.ui-tag--red{background:#e74c3c}.ui-tag--orange{background:#e67e22}.ui-tag--purple{background:#8e44ad}.ui-tag--gray{background:#95a5a6}.ui-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;gap:4px;color:#7f8c8d;text-align:center}.ui-empty-state__icon{font-size:2.5rem;margin-bottom:8px}.ui-empty-state__title{font-size:1.05rem;font-weight:600;margin:0;color:#2c3e50}.ui-empty-state__desc{margin:0;font-size:.9em;max-width:420px;color:#7f8c8d}.ui-empty-state__actions{margin-top:12px;display:flex;gap:8px;justify-content:center}.ui-empty-state--fullpage{min-height:60vh}.ui-icon-btn{background:none;border:none;cursor:pointer;padding:4px 6px;border-radius:4px;font-size:1em;color:#2c3e50;transition:background .15s}.ui-icon-btn:hover:not(:disabled){background:#ecf0f1}.ui-icon-btn:disabled{opacity:.5;cursor:not-allowed}.ui-field{display:flex;flex-direction:column;gap:4px}.ui-field__label{font-size:.85em;font-weight:600;color:#2c3e50}.ui-field__hint{margin:0;font-size:.8em;color:#7f8c8d}.ui-field__error{margin:0;font-size:.8em;color:#e74c3c}.ui-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ui-toolbar--start{justify-content:flex-start}.ui-toolbar--center{justify-content:center}.ui-toolbar--end{justify-content:flex-end}.ui-toolbar--between{justify-content:space-between}.container{padding:24px;overflow-x:auto}.staffing-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:16px}.staffing-toolbar-left{display:flex;align-items:center;gap:12px}.legend{display:flex;gap:20px;font-size:.85em;flex-wrap:wrap}.btn-export-excel{display:flex;align-items:center;gap:6px;padding:6px 14px;background:#1d6f42;color:#fff;border:none;border-radius:6px;font-size:.82em;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .15s,opacity .15s}.btn-export-excel svg{flex-shrink:0}.btn-export-excel:hover{background:#155534}.btn-export-excel:disabled{opacity:.6;cursor:default}.legend-item{display:flex;align-items:center;gap:6px}.legend-dot{width:14px;height:14px;border-radius:3px}.legend-dot--past{background:#f5f5f5}.legend-dot--current{background:#d5f5e3}.legend-dot--future{background:#fff}.grid-wrapper{display:grid;gap:0;min-width:fit-content}.grid-header{display:contents}.grid-header .cell{background:#2c3e50;color:#fff;font-weight:600;font-size:.85em;text-align:center;padding:12px 8px;position:sticky;top:0;z-index:10}.grid-header .cell-month{background:#34495e;min-width:60px;position:sticky;left:0;z-index:20}.grid-row{display:contents}.grid-row .cell{border:1px solid #dfe6e9;padding:10px 8px;min-height:60px;font-size:.85em;transition:background .15s;cursor:default}.grid-row .cell:hover{background:#eaf2f8}.grid-row .cell-month{background:#ecf0f1;font-weight:600;color:#2c3e50;text-align:center;min-width:100px;position:sticky;left:0;z-index:5;display:flex;align-items:center;justify-content:center;border-right:2px solid #bdc3c7}.grid-row .cell-data{background:#fff;min-width:130px;padding:2px 14px 2px 2px!important;position:relative}.grid-row.current .cell-month{background:#d5f5e3;color:#1e8449;font-weight:700}.grid-row.current .cell-data{background:#fef9e7}.grid-row.past .cell-month{background:#f5f5f5;color:#95a5a6}.grid-row.past .cell-data{background:#fafafa;color:#95a5a6}.consultant-col-header{line-height:1.3}.consultant-col-role{font-size:.78em;opacity:.7;font-weight:400}.cell-data.selecting{background:#aed6f1!important;outline:2px solid #2980b9;outline-offset:-2px}.client-list{list-style:none;overflow-y:auto;max-height:40vh;margin-bottom:16px}.client-list-item{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-bottom:1px solid #ecf0f1;font-size:.9em}.client-list-item:last-child{border-bottom:none}.client-list-item{cursor:grab;background:#fff;transition:background .15s}.client-list-item.dragging{opacity:.5}.client-list-item.drag-over{background:#e3f2fd}.btn-delete-client{background:none;border:none;font-size:1em;cursor:pointer;padding:2px 6px;border-radius:4px;color:#e74c3c}.btn-delete-client:hover{background:#fdecea}.role-list{list-style:none;overflow-y:auto;max-height:40vh;margin-bottom:16px}.role-list-item{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-bottom:1px solid #ecf0f1;font-size:.9em}.role-list-item:last-child{border-bottom:none}.role-info{flex:1}.role-actions,.consultant-actions{display:flex;gap:4px}.btn-edit-role{background:none;border:none;font-size:1em;cursor:pointer;padding:2px 6px;border-radius:4px;color:#2980b9}.btn-edit-role:hover{background:#eaf2f8}.btn-delete-role{background:none;border:none;font-size:1em;cursor:pointer;padding:2px 6px;border-radius:4px;color:#e74c3c}.btn-delete-role:hover{background:#fdecea}.role-edit-row{display:flex;gap:6px;align-items:center;width:100%}.role-edit-row input{flex:1;padding:4px 8px;border:1px solid #bdc3c7;border-radius:4px;font-size:.9em}.role-edit-row button{border:none;background:none;font-size:1em;cursor:pointer;padding:2px 6px}.consultant-list{list-style:none;overflow-y:auto;max-height:40vh;margin-bottom:16px}.consultant-list-item{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-bottom:1px solid #ecf0f1;font-size:.9em}.consultant-list-item:last-child{border-bottom:none}.consultant-list-item{flex-wrap:wrap}.consultant-info{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.consultant-quadrigram{display:inline-block;font-family:monospace;font-size:.8em;font-weight:700;color:#fff;background:#5b6c8a;border-radius:3px;padding:0 5px;margin:0 4px;letter-spacing:.05em;vertical-align:middle}.btn-edit-consultant{background:none;border:none;font-size:1em;cursor:pointer;padding:2px 6px;border-radius:4px;color:#2980b9}.btn-edit-consultant:hover{background:#eaf2f8}.btn-delete-consultant{background:none;border:none;font-size:1em;cursor:pointer;padding:2px 6px;border-radius:4px;color:#e74c3c}.btn-delete-consultant:hover{background:#fdecea}.consultant-edit-row{display:flex;gap:6px;width:100%;margin-top:4px}.consultant-edit-row input{flex:1;padding:5px 8px;border:1px solid #bdc3c7;border-radius:4px;font-size:.85em}.consultant-edit-row input:focus{border-color:#3498db;outline:none}.btn-save-role,.btn-save-consultant{background:none;border:none;color:#27ae60;font-size:1.1em;cursor:pointer;padding:2px 6px}.btn-save-role:hover,.btn-save-consultant:hover{background:#e8f8f0;border-radius:4px}.hidden{display:none!important}.staffing-lanes{display:grid;grid-template-columns:repeat(var(--lane-count, 1),1fr);gap:3px;width:100%;height:100%;min-height:38px}.staffing-block{grid-column-start:calc(var(--lane) + 1);display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;color:#fff;font-size:.68em;font-weight:700;padding:2px 3px;cursor:pointer;position:relative;min-height:28px;text-align:center;word-break:break-all;line-height:1.2;border-left:3px solid rgba(255,255,255,.35);transition:filter .15s}.staffing-block:hover{filter:brightness(1.15);z-index:50}.staffing-block:hover>.staffing-tooltip{display:block}.staffing-title-v8,.staffing-line-v8,.staffing-initials-v8{background:#fff;border-radius:6px;padding:2px 6px;box-shadow:0 1px 2px #2c3e500a;display:inline-block;margin-bottom:2px}.staffing-title-v8{font-size:1.7em;font-weight:700;margin-bottom:2px;color:#1976d2;line-height:1.2;word-break:break-word}.staffing-line-v8{font-size:.95em;color:#34495e;line-height:1.15;margin-bottom:1px;word-break:break-word}.staffing-initials-v8{font-size:1.1em;font-weight:700;color:#2c3e50;letter-spacing:2px;margin:4px 0 0;text-align:center;display:block}.staffing-warning-v8{border:2px dotted #e74c3c!important}.staffing-tooltip{display:none;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);background:#2c3e50;color:#fff;padding:10px 14px;border-radius:8px;font-size:.82rem;font-weight:400;white-space:nowrap;z-index:500;box-shadow:0 4px 16px #0000004d;pointer-events:none;line-height:1.5;text-align:left}.staffing-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:#2c3e50}.tooltip-hr{border:none;border-top:1px solid rgba(255,255,255,.2);margin:4px 0}.tooltip-muted{color:#aaa}.staffing-period{margin-bottom:14px;font-size:.9em;color:#555}.staffing-period-edit{display:flex;flex-direction:column;gap:10px;margin-bottom:14px;font-size:.85em}.staffing-period-edit label{display:flex;align-items:center;gap:6px}.staffing-period-edit .mp-row{flex-direction:row;align-items:center;gap:12px}.staffing-period-edit .mp-row>label{min-width:48px}.staffing-period-edit input[type=month]{padding:4px 8px;border:1px solid #bdc3c7;border-radius:4px;font-size:.9em}.staffing-mgr-filter-wrap{margin:0 0 10px}.staffing-assignments h3{font-size:.9em;margin-bottom:8px;color:#2c3e50}.assignment-row{display:flex;gap:6px;margin-bottom:6px;align-items:center}.assignment-row select,.assignment-row input{padding:5px 8px;border:1px solid #bdc3c7;border-radius:4px;font-size:.82em}.assignment-consultant{flex:2}.assignment-role{flex:1}.assignment-occupation{width:70px}.btn-remove-assignment{background:none;border:none;font-size:1em;cursor:pointer;padding:2px 6px;border-radius:4px;color:#e74c3c}.btn-remove-assignment:hover{background:#fdecea}.btn-add-assignment{background:none;border:1px dashed #bdc3c7;color:#7f8c8d;padding:6px 14px;border-radius:6px;font-size:.82em;cursor:pointer;margin-bottom:14px;width:100%}.btn-add-assignment:hover{border-color:#3498db;color:#3498db}.staffing-day-indicators{display:flex;gap:16px;margin-bottom:14px;flex-wrap:wrap}.staffing-day-indicators .staffing-indicationdebut-section,.staffing-day-indicators .staffing-indicationfin-section{flex:1;min-width:160px}.staffing-day-indicators .staffing-indicationdebut-section label,.staffing-day-indicators .staffing-indicationfin-section label{font-size:.82em;font-weight:600;display:block;margin-bottom:4px;color:#7f8c8d}.staffing-note-section{margin-bottom:16px}.staffing-note-section label{font-size:.85em;font-weight:600;display:block;margin-bottom:4px;color:#2c3e50}.staffing-note-section textarea{width:100%;padding:8px 10px;border:1px solid #bdc3c7;border-radius:6px;font-size:.85em;font-family:inherit;resize:vertical;outline:none}.staffing-note-section textarea:focus{border-color:#3498db}.staffing-verify-section{display:flex;align-items:center;gap:10px;margin-bottom:14px;font-size:.85em;flex-wrap:wrap}.verify-ok{color:#27ae60;font-weight:600}.verify-warn{color:#e67e22;font-weight:600}.btn-verify{background:none;border:1px solid #bdc3c7;border-radius:4px;padding:4px 10px;font-size:.82em;cursor:pointer}.btn-verify:hover{border-color:#27ae60;color:#27ae60}.staffing-block[data-unverified=true]:before{content:"!";position:absolute;top:2px;right:3px;width:13px;height:13px;background:#e67e22;color:#fff;border-radius:50%;font-size:9px;font-weight:800;display:flex;align-items:center;justify-content:center;line-height:13px;pointer-events:none}.staffing-transform-section{border-top:1px solid #ecf0f1;padding-top:12px;margin-bottom:14px}.transform-header{font-size:.82em;font-weight:600;color:#7f8c8d;margin-bottom:8px;text-transform:uppercase;letter-spacing:.04em}.transform-btns{display:flex;gap:8px;flex-wrap:wrap}.btn-transform{background:none;border:1px solid #bdc3c7;color:#2c3e50;padding:6px 14px;border-radius:6px;font-size:.83em;cursor:pointer;transition:all .15s}.btn-transform:hover,.btn-transform.active{border-color:#3498db;color:#3498db;background:#eaf2f8}.btn-transform.active{font-weight:600}.transform-panel{margin-top:12px;background:#f8fafc;border:1px solid #ecf0f1;border-radius:8px;padding:12px 14px;display:flex;flex-direction:column;gap:8px}.transform-label{font-size:.85em;font-weight:600;color:#2c3e50;margin:0}.transform-hint{font-size:.78em;color:#7f8c8d;margin:0}.transform-picker-row{display:flex;align-items:center;gap:8px}.transform-select{padding:6px 10px;border:1px solid #bdc3c7;border-radius:6px;font-size:.88em;width:100%}.transform-select:focus{border-color:#3498db;outline:none}.btn-transform-confirm{align-self:flex-start;background:#3498db;color:#fff;border:none;padding:7px 18px;border-radius:6px;font-size:.88em;cursor:pointer;font-weight:600;transition:background .2s}.btn-transform-confirm:hover{background:#2980b9}.staffing-block.staffing-partial{overflow:hidden}.staffing-block.staffing-partial:after{content:"";position:absolute;bottom:0;left:0;right:0;height:calc(100% - var(--fill-pct, 100%));background:#ffffffa6;pointer-events:none}.staffing-block.staffing-partial-start{overflow:hidden}.staffing-block.staffing-partial-start .staffing-start-overlay{position:absolute;top:0;left:0;right:0;height:var(--start-blank-pct, 0%);background:#ffffffa6;pointer-events:none;z-index:2}.staffing-start-indicator{position:absolute;top:var(--start-blank-pct, 0%);left:0;right:0;text-align:center;font-size:.75em;color:#fffffff2;font-weight:700;pointer-events:none;z-index:3;line-height:1.1;padding:1px 0}.staffing-end-indicator{position:absolute;bottom:calc(100% - var(--fill-pct, 100%));left:0;right:0;text-align:center;font-size:.75em;color:#fffffff2;font-weight:700;pointer-events:none;z-index:1;line-height:1.1;padding:1px 0}.history-list{display:flex;flex-direction:column;gap:12px;margin-bottom:18px;max-height:55vh;overflow-y:auto}.history-entry{border:1px solid #ecf0f1;border-radius:8px;background:#fafafa;padding:12px 14px}.history-header{margin-bottom:6px;font-size:.9em}.history-date{color:#7f8c8d;font-size:.85em}.history-period{font-size:.82em;color:#555;margin-bottom:4px}.history-verify{font-size:.82em;margin-bottom:4px}.history-note{font-size:.82em;color:#555;margin-top:4px;font-style:italic}.history-assignments{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:4px}.history-assignment{background:#eaf2f8;color:#2c3e50;padding:2px 8px;border-radius:4px;font-size:.8em}.tag-active{background:#27ae60;color:#fff;padding:1px 7px;border-radius:10px;font-size:.75em;font-weight:600}.tag-archived{background:#95a5a6;color:#fff;padding:1px 7px;border-radius:10px;font-size:.75em;font-weight:600}.deleted-staffings-list{overflow-y:auto;max-height:50vh;margin-bottom:16px}.deleted-staffing-entry{border:1px solid #ecf0f1;border-radius:8px;background:#fafafa;padding:10px 14px;margin-bottom:8px;font-size:.9em}.deleted-staffing-actions{display:flex;gap:6px;margin-top:6px}.deleted-staffing-date{font-size:.8em;color:#7f8c8d;margin-top:4px}.availability-list{list-style:none;overflow-y:auto;max-height:40vh;margin-bottom:16px;max-height:50vh}.availability-list li{padding:8px 10px;border-bottom:1px solid #ecf0f1;font-size:.9em;display:flex;align-items:center;gap:8px}.availability-list li:last-child{border-bottom:none}.avail-ending{display:inline-block;font-size:.75em;padding:2px 7px;border-radius:10px;background:#fff3e0;color:#e65100;font-weight:600;white-space:nowrap;margin-left:auto}.consultant-view{padding:28px 32px;width:100%}.consultant-view-inner{display:flex;flex-direction:column;gap:24px}.cv-header{display:flex;align-items:center;justify-content:space-between}.cv-header-left{display:flex;align-items:center;gap:16px}.cv-header-icon{font-size:2.2em;line-height:1}.cv-title{font-size:1.3em;font-weight:700;color:#2c3e50;margin:0}.cv-subtitle{font-size:.85em;color:#95a5a6;margin:2px 0 0}.cv-section-title{font-size:.78em;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:#95a5a6;margin-bottom:12px}.cv-btn-add-inline{background:none;border:1px solid #3498db;color:#3498db;padding:4px 12px;border-radius:8px;font-size:.78em;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .15s,color .15s;flex-shrink:0}.cv-btn-add-inline:hover{background:#3498db;color:#fff}.cv-btn-export{background:none;border:1px solid #27ae60;color:#27ae60;padding:4px 12px;border-radius:8px;font-size:.78em;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .15s,color .15s;flex-shrink:0}.cv-btn-export:hover{background:#27ae60;color:#fff}.cv-add-row{display:flex;gap:6px;align-items:center;padding:10px 4px;border-bottom:1px solid #ecf0f1}.cv-add-row-input{flex:1;min-width:0;padding:7px 10px;font-size:.88em}.cv-add-row-confirm{padding:6px 12px;font-size:.82em;flex-shrink:0}.cv-add-row-cancel{background:none;border:1px solid #bdc3c7;border-radius:6px;padding:6px 10px;font-size:.82em;cursor:pointer;color:#7f8c8d;flex-shrink:0;transition:border-color .15s}.cv-add-row-cancel:hover{border-color:#7f8c8d}.cv-input{padding:9px 13px;border:1px solid #bdc3c7;border-radius:8px;font-size:.9em;color:#2c3e50;background:#fff;outline:none;transition:border-color .15s,box-shadow .15s;flex:1;min-width:140px}.cv-input:focus{border-color:#3498db;box-shadow:0 0 0 3px #3498db1f}.cv-input::placeholder{color:#bdc3c7}.cv-btn-primary{background:#3498db;color:#fff;border:none;padding:9px 18px;border-radius:8px;font-size:.88em;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .15s;flex-shrink:0}.cv-btn-primary:hover{background:#2980b9}.cv-list-section{background:#fff;border-radius:12px;padding:20px 24px;box-shadow:0 2px 8px #00000012;min-width:300px;max-width:440px;flex-shrink:0;align-self:flex-start;position:sticky;top:64px;max-height:calc(100vh - 80px);display:flex;flex-direction:column;overflow:hidden}.cv-list-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.cv-list-header .cv-section-title{margin-bottom:0;flex-shrink:0}.cv-list-header .cv-filter-input{margin-left:auto}.cv-manager-filter-row{margin-bottom:8px}.mgr-filter{display:flex;align-items:center;gap:10px;padding:3px 10px 3px 4px;border:1px solid #bdc3c7;border-radius:10px;background:#fff;transition:border-color .15s,box-shadow .15s}.mgr-filter:focus-within{border-color:#3498db;box-shadow:0 0 0 3px #3498db1f}.mgr-filter-select{flex:1;padding:4px 6px;border:none;border-radius:0;font-size:.82em;color:#2c3e50;background:transparent;outline:none;cursor:pointer}.mgr-filter-direct-label{display:flex;align-items:center;gap:4px;font-size:.78em;color:#2c3e50;white-space:nowrap;cursor:pointer;flex-shrink:0;padding-left:8px;border-left:1px solid #eef1f3}.cv-group-header{font-size:.72em;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#3498db;padding:10px 10px 4px;border-top:1px solid #bdc3c7;margin-top:4px}.cv-group-header:first-child{border-top:none;margin-top:0}.cv-filter-input{padding:5px 10px;border:1px solid #bdc3c7;border-radius:8px;font-size:.82em;color:#2c3e50;background:#fff;outline:none;width:140px;transition:border-color .15s,box-shadow .15s}.cv-filter-input:focus{border-color:#3498db;box-shadow:0 0 0 3px #3498db1f}.cv-filter-input::placeholder{color:#bdc3c7}.cv-level-select{flex:0 1 auto;min-width:120px}.cv-detail-level-badge{color:#2980b9;font-weight:600}.cv-main-panel{display:flex;gap:24px;align-items:flex-start}.cv-list{display:flex;flex-direction:column;gap:0;overflow-y:auto;flex:1;min-height:0}.cv-empty{color:#95a5a6;font-size:.9em;padding:12px 0;text-align:center}.cv-row{border-bottom:1px solid #ecf0f1;display:flex;align-items:center;gap:12px;padding:12px 8px;cursor:pointer;transition:background .15s}.cv-row:last-child{border-bottom:none}.cv-row:hover{background:#3498db0a}.cv-row-view{display:flex;align-items:center;gap:14px;padding:14px 4px}.cv-avatar{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,#3498db,#2980b9);color:#fff;font-size:1em;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.cv-avatar-edit{opacity:.5}.cv-row-info{flex:1;display:flex;flex-direction:column;gap:3px;min-width:0}.cv-row-name{font-size:.93em;font-weight:600;color:#2c3e50}.cv-row-role{font-size:.8em;color:#7f8c8d}.cv-row-role.cv-row-role-empty{color:#bdc3c7;font-style:italic}.cv-row-meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.cv-row-level{font-size:.75em;color:#2980b9;background:#3498db1a;padding:1px 7px;border-radius:8px;font-weight:600}.cv-row-actions{display:flex;gap:6px;flex-shrink:0}.cv-btn-icon{background:none;border:1px solid #bdc3c7;border-radius:6px;padding:5px 10px;font-size:.8em;cursor:pointer;color:#7f8c8d;white-space:nowrap;transition:border-color .15s,color .15s}.cv-btn-icon:hover{border-color:#3498db;color:#2980b9}.cv-btn-icon.cv-btn-icon-danger:hover{border-color:#e74c3c;color:#e74c3c}.cv-edit-fields{flex:1;display:flex;gap:8px;flex-wrap:wrap;min-width:0}.cv-btn-save{padding:7px 14px;font-size:.85em}.cv-btn-cancel{background:none;border:1px solid #bdc3c7;border-radius:8px;padding:7px 12px;font-size:.85em;cursor:pointer;color:#7f8c8d;white-space:nowrap;transition:border-color .15s}.cv-btn-cancel:hover{border-color:#7f8c8d}.cv-row-selected{background:#3498db14!important;border-radius:8px}.cv-detail-zone{flex:1;min-width:0;background:#fff;border-radius:12px;padding:24px;box-shadow:0 2px 8px #00000012;display:flex;flex-direction:column;gap:20px;align-self:flex-start;width:100%;box-sizing:border-box;position:sticky;top:64px;max-height:calc(100vh - 80px);overflow-y:auto}.cv-detail-header{display:flex;align-items:center;gap:16px}.cv-detail-avatar{width:52px;height:52px;font-size:1.3em}.cv-detail-header-info{flex:1;min-width:0}.cv-detail-close{background:none;border:none;font-size:1.2em;color:#95a5a6;cursor:pointer;padding:4px 8px;border-radius:6px;transition:background .15s,color .15s;flex-shrink:0;align-self:flex-start}.cv-detail-close:hover{background:#0000000f;color:#2c3e50}.cv-detail-edit-section{border-top:1px solid #ecf0f1;padding-top:16px}.cv-detail-edit-form{display:flex;flex-direction:column;gap:10px}.cv-detail-edit-btns{display:flex;gap:8px;margin-top:4px}.cv-compact-strip{display:flex;align-items:center;gap:8px;flex-wrap:wrap;border-top:1px solid #ecf0f1;padding-top:12px}.cv-compact-input{padding:5px 10px;border:1px solid #bdc3c7;border-radius:6px;font-size:.84em;background:#fff;color:#2c3e50;transition:border-color .15s}.cv-compact-input:focus{outline:none;border-color:#3498db}.cv-compact-level{max-width:140px;cursor:pointer}.cv-compact-lang-toggle{display:flex;align-items:center;gap:4px;padding:4px 8px;font-size:.78em;font-weight:600;color:#7f8c8d;border:1px solid #bdc3c7;border-radius:6px;cursor:pointer;white-space:nowrap;flex-shrink:0}.cv-compact-lang-toggle:has(input:checked){color:#2980b9;border-color:#2980b9;background:#eaf2f8}.cv-compact-actions{display:flex;gap:6px;margin-left:auto;flex-shrink:0}.cv-compact-action-btn{padding:4px 10px;font-size:.78em;border:1px solid #bdc3c7;border-radius:6px;background:#f0f2f5;color:#7f8c8d;cursor:pointer;white-space:nowrap;transition:background .12s,color .12s,border-color .12s}.cv-compact-action-btn:hover{background:#ecf0f1;color:#2c3e50}.cv-compact-action-btn.cv-compact-action-btn-danger{border-color:#e74c3c;color:#e74c3c;background:none}.cv-compact-action-btn.cv-compact-action-btn-danger:hover{background:#e74c3c;color:#fff}.cv-manager-section{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:9px 14px;background:#ecf0f1;border-radius:7px;border-left:3px solid #3498db;margin-top:4px}.cv-manager-label{font-size:.78em;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#7f8c8d;white-space:nowrap;min-width:62px}.cv-manager-value{font-size:.88em;font-weight:500;color:#2c3e50}.cv-manager-empty{font-size:.84em;font-style:italic;color:#95a5a6}.cv-manager-select{flex:1;min-width:180px;max-width:280px;font-size:.84em}.cv-manager-assign-btn{padding:5px 14px;font-size:.82em;white-space:nowrap}.cv-local-data-divider{display:flex;flex-direction:column;align-items:center;gap:3px;margin:10px 0 4px}.cv-local-data-line{display:flex;align-items:center;gap:10px;width:100%}.cv-local-data-line:before,.cv-local-data-line:after{content:"";flex:1;height:1px;background:#ecf0f1}.cv-local-data-label{font-size:.72em;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#95a5a6;white-space:nowrap;padding:0 4px}.cv-local-data-chevrons{font-size:.8em;color:#95a5a6;letter-spacing:6px;line-height:1;opacity:.6}.cv-notes-section{display:flex;flex-direction:column;gap:6px;flex:1;min-height:0}.cv-notes-header{display:flex;align-items:center;gap:10px}.cv-notes-label{font-size:.78em;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#95a5a6}.cv-notes-saved{font-size:.75em;color:#27ae60;opacity:0;transition:opacity .3s}.cv-notes-saved.visible{opacity:1}.cv-notes-wrapper{display:flex;flex-direction:column;border:1px solid #bdc3c7;border-radius:8px;overflow:hidden;flex:1;min-height:0}.cv-notes-wrapper .td-inline-toolbar{border-bottom:1px solid #bdc3c7;border-radius:0;flex-shrink:0}.cv-notes-editor{flex:1;min-height:200px;padding:12px 14px;font-size:.92em;line-height:1.6;overflow-y:auto;outline:none;cursor:text;color:#2c3e50}.cv-notes-editor:empty:before{content:attr(data-placeholder);color:#bbb;pointer-events:none}.cv-notes-editor ul,.cv-notes-editor ol{margin:4px 0 4px 18px;padding:0}.cv-notes-editor li{margin:2px 0}.cv-notes-editor b,.cv-notes-editor strong{font-weight:600}.cv-notes-editor a{color:#3498db;text-decoration:underline;cursor:pointer}.cv-notes-editor a:hover{opacity:.8}.cv-name-row{display:flex;gap:8px;align-items:center}.cv-input-readonly{background:#f8f9fa;color:#7f8c8d;cursor:default;border-color:#ecf0f1;flex:1}.cv-input-readonly:focus{outline:none;box-shadow:none;border-color:#ecf0f1}.cv-btn-rename{white-space:nowrap;padding:6px 12px;font-size:.82em;border:1px solid #bdc3c7;border-radius:6px;background:#f0f2f5;color:#7f8c8d;cursor:pointer}.cv-btn-rename:hover{background:#ecf0f1;color:#2c3e50}.cv-rename-section{display:flex;flex-direction:column;gap:8px;padding:12px;border:1px solid #f0c36d;border-radius:8px;background:#fef9ec}.cv-rename-section.hidden{display:none}.cv-rename-warning{margin:0;font-size:.82em;color:#8a6200}.cv-rename-input{width:100%}.cv-btn-rename-confirm{align-self:flex-start}.cv-btn-rename-cancel{align-self:flex-start;padding:6px 12px;font-size:.85em;border:1px solid #bdc3c7;border-radius:6px;background:transparent;color:#7f8c8d;cursor:pointer}.cv-btn-rename-cancel:hover{background:#ecf0f1}.cv-detail-name{font-size:1.15em;font-weight:700;color:#2c3e50;margin:0}.cv-detail-role{font-size:.85em;color:#7f8c8d;margin:3px 0 0}.cv-detail-role em{color:#bdc3c7}.cv-detail-actions{display:flex;gap:10px;flex-wrap:wrap}.cv-detail-action-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:8px;font-size:.85em;font-weight:600;background:#3498db;color:#fff;border:none;cursor:pointer;text-decoration:none;transition:background .15s}.cv-detail-action-btn:hover{background:#2980b9}.cv-detail-staffings{display:flex;flex-direction:column;gap:8px}.cv-staffing-list{overflow-x:auto}.cv-staffing-table{width:100%;border-collapse:collapse;font-size:.88em}.cv-staffing-table th{text-align:left;padding:8px 12px;font-weight:700;font-size:.82em;text-transform:uppercase;letter-spacing:.06em;color:#95a5a6;border-bottom:2px solid #ecf0f1;white-space:nowrap}.cv-staffing-table td{padding:10px 12px;color:#2c3e50;border-bottom:1px solid #ecf0f1}.cv-staffing-row{cursor:pointer;transition:background .15s}.cv-staffing-row:hover{background:#3498db0f}.cv-staffing-client{font-weight:600;white-space:nowrap}.cv-staffing-title{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cv-staffing-period{white-space:nowrap;font-size:.9em;color:#7f8c8d}.cv-staffing-occup{text-align:right;font-weight:600}.client-mgmt-view{padding:28px 32px;max-width:720px;margin:0 auto;width:100%}.cm-inner{display:flex;flex-direction:column;gap:24px}.cm-header{display:flex;align-items:center;justify-content:space-between}.cm-header-left{display:flex;align-items:center;gap:16px}.cm-header-icon{font-size:2.2em;line-height:1}.cm-title{font-size:1.3em;font-weight:700;color:#2c3e50;margin:0}.cm-subtitle{font-size:.85em;color:#95a5a6;margin:2px 0 0}.cm-section-title{font-size:.78em;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:#95a5a6;margin-bottom:12px}.cm-add-section{background:#fff;border-radius:12px;padding:20px 24px;box-shadow:0 2px 8px #00000012}.cm-add-form{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.cm-checkbox-label{font-size:.9em;color:#7f8c8d;white-space:nowrap;display:flex;align-items:center;gap:4px}.cm-input{padding:9px 13px;border:1px solid #bdc3c7;border-radius:8px;font-size:.9em;color:#2c3e50;background:#fff;outline:none;transition:border-color .15s,box-shadow .15s;flex:1;min-width:140px}.cm-input:focus{border-color:#3498db;box-shadow:0 0 0 3px #3498db1f}.cm-input::placeholder{color:#bdc3c7}.cm-btn-primary{background:#3498db;color:#fff;border:none;padding:9px 18px;border-radius:8px;font-size:.88em;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .15s;flex-shrink:0}.cm-btn-primary:hover{background:#2980b9}.cm-list-section{background:#fff;border-radius:12px;padding:20px 24px;box-shadow:0 2px 8px #00000012}.cm-list{display:flex;flex-direction:column;gap:0}.cm-empty{color:#95a5a6;font-size:.9em;padding:12px 0;text-align:center}.cm-row{display:flex;align-items:center;gap:12px;padding:12px 4px;border-bottom:1px solid #ecf0f1;cursor:grab;transition:background .15s}.cm-row:last-child{border-bottom:none}.cm-row:hover{background:#3498db0a}.cm-row.dragging{opacity:.4}.cm-row.drag-over{border-top:2px solid #3498db}.cm-grip{color:#bdc3c7;font-size:1.1em;cursor:grab;user-select:none}.cm-strategic-cb{flex-shrink:0}.cm-row-info{flex:1;min-width:0}.cm-row-name{font-size:.93em;font-weight:600;color:#2c3e50}.cm-row-name.cm-strategic{font-weight:700;color:#1976d2}.cm-star{color:#fbc02d;margin-left:6px}.cm-btn-icon{background:none;border:1px solid #bdc3c7;border-radius:6px;padding:5px 10px;font-size:.8em;cursor:pointer;color:#7f8c8d;white-space:nowrap;transition:border-color .15s,color .15s}.cm-btn-icon:hover{border-color:#3498db;color:#2980b9}.cm-btn-icon.cm-btn-icon-danger:hover{border-color:#e74c3c;color:#e74c3c}.role-mgmt-view{padding:28px 32px;max-width:720px;margin:0 auto;width:100%}.rm-inner{display:flex;flex-direction:column;gap:24px}.rm-header{display:flex;align-items:center;justify-content:space-between}.rm-header-left{display:flex;align-items:center;gap:16px}.rm-header-icon{font-size:2.2em;line-height:1}.rm-title{font-size:1.3em;font-weight:700;color:#2c3e50;margin:0}.rm-subtitle{font-size:.85em;color:#95a5a6;margin:2px 0 0}.rm-section-title{font-size:.78em;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:#95a5a6;margin-bottom:12px}.rm-add-section{background:#fff;border-radius:12px;padding:20px 24px;box-shadow:0 2px 8px #00000012}.rm-add-form{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.rm-input{padding:9px 13px;border:1px solid #bdc3c7;border-radius:8px;font-size:.9em;color:#2c3e50;background:#fff;outline:none;transition:border-color .15s,box-shadow .15s;flex:1;min-width:140px}.rm-input:focus{border-color:#3498db;box-shadow:0 0 0 3px #3498db1f}.rm-input::placeholder{color:#bdc3c7}.rm-btn-primary{background:#3498db;color:#fff;border:none;padding:9px 18px;border-radius:8px;font-size:.88em;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .15s;flex-shrink:0}.rm-btn-primary:hover{background:#2980b9}.rm-list-section{background:#fff;border-radius:12px;padding:20px 24px;box-shadow:0 2px 8px #00000012}.rm-list{display:flex;flex-direction:column;gap:0}.rm-empty{color:#95a5a6;font-size:.9em;padding:12px 0;text-align:center}.rm-row{border-bottom:1px solid #ecf0f1}.rm-row:last-child{border-bottom:none}.rm-row-view,.rm-row-edit{display:flex;align-items:center;gap:14px;padding:14px 4px}.rm-row-name{flex:1;font-size:.93em;font-weight:600;color:#2c3e50;min-width:0}.rm-row-actions{display:flex;gap:6px;flex-shrink:0}.rm-btn-icon{background:none;border:1px solid #bdc3c7;border-radius:6px;padding:5px 10px;font-size:.8em;cursor:pointer;color:#7f8c8d;white-space:nowrap;transition:border-color .15s,color .15s}.rm-btn-icon:hover{border-color:#3498db;color:#2980b9}.rm-btn-icon.rm-btn-icon-danger:hover{border-color:#e74c3c;color:#e74c3c}.rm-btn-save{padding:7px 14px;font-size:.85em}.rm-btn-cancel{background:none;border:1px solid #bdc3c7;border-radius:8px;padding:7px 12px;font-size:.85em;cursor:pointer;color:#7f8c8d;white-space:nowrap;transition:border-color .15s}.rm-btn-cancel:hover{border-color:#7f8c8d}.niveau-mgmt-view{padding:28px 32px;max-width:720px;margin:0 auto;width:100%}.nm-inner{display:flex;flex-direction:column;gap:24px}.nm-header{display:flex;align-items:center;justify-content:space-between}.nm-header-left{display:flex;align-items:center;gap:16px}.nm-header-icon{font-size:2.2em;line-height:1}.nm-title{font-size:1.3em;font-weight:700;color:#2c3e50;margin:0}.nm-subtitle{font-size:.85em;color:#95a5a6;margin:2px 0 0}.nm-section-title{font-size:.78em;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:#95a5a6;margin-bottom:12px}.nm-add-section{background:#fff;border-radius:12px;padding:20px 24px;box-shadow:0 2px 8px #00000012}.nm-add-form{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.nm-input{padding:9px 13px;border:1px solid #bdc3c7;border-radius:8px;font-size:.9em;color:#2c3e50;background:#fff;outline:none;transition:border-color .15s,box-shadow .15s;flex:1;min-width:140px}.nm-input:focus{border-color:#3498db;box-shadow:0 0 0 3px #3498db1f}.nm-input::placeholder{color:#bdc3c7}.nm-btn-primary{background:#3498db;color:#fff;border:none;padding:9px 18px;border-radius:8px;font-size:.88em;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .15s;flex-shrink:0}.nm-btn-primary:hover{background:#2980b9}.nm-list-section{background:#fff;border-radius:12px;padding:20px 24px;box-shadow:0 2px 8px #00000012}.nm-list{display:flex;flex-direction:column;gap:0}.nm-empty{color:#95a5a6;font-size:.9em;padding:12px 0;text-align:center}.nm-row{border-bottom:1px solid #ecf0f1}.nm-row:last-child{border-bottom:none}.nm-row-view,.nm-row-edit{display:flex;align-items:center;gap:14px;padding:14px 4px}.nm-order-btns{display:flex;flex-direction:column;gap:2px}.nm-btn-order{font-size:.65em!important;padding:2px 6px!important;line-height:1}.nm-btn-order:disabled{opacity:.25;cursor:default}.nm-row-order{font-size:.78em;font-weight:700;color:#95a5a6;min-width:20px;text-align:center}.nm-row-name{flex:1;font-size:.93em;font-weight:600;color:#2c3e50;min-width:0}.nm-row-actions{display:flex;gap:6px;flex-shrink:0}.nm-btn-icon{background:none;border:1px solid #bdc3c7;border-radius:6px;padding:5px 10px;font-size:.8em;cursor:pointer;color:#7f8c8d;white-space:nowrap;transition:border-color .15s,color .15s}.nm-btn-icon:hover{border-color:#3498db;color:#2980b9}.nm-btn-icon.nm-btn-icon-danger:hover{border-color:#e74c3c;color:#e74c3c}.nm-btn-save{padding:7px 14px;font-size:.85em}.nm-btn-cancel{background:none;border:1px solid #bdc3c7;border-radius:8px;padding:7px 12px;font-size:.85em;cursor:pointer;color:#7f8c8d;white-space:nowrap;transition:border-color .15s}.nm-btn-cancel:hover{border-color:#7f8c8d}.management-view{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:calc(100vh - 56px);padding:40px 20px}.management-cards{display:flex;gap:28px;flex-wrap:wrap;justify-content:center;max-width:860px}.management-card{display:flex;flex-direction:column;align-items:center;gap:12px;padding:32px 28px;border-radius:16px;border:2px solid #ecf0f1;background:#fff;cursor:pointer;transition:all .2s;min-width:200px;max-width:250px;text-align:center;box-shadow:0 2px 10px #0000000f}.management-card:hover{border-color:#3498db;box-shadow:0 6px 24px #3498db2e;transform:translateY(-3px)}.management-card-icon{font-size:2.4em;line-height:1}.management-card-title{font-size:1.05em;font-weight:700;color:#2c3e50}.management-card-desc{font-size:.83em;color:#7f8c8d;line-height:1.5}.pyramide-view{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:calc(100vh - 56px);gap:18px}.pyramide-view .pyramide-icon{font-size:3.5em;line-height:1}.pyramide-view .pyramide-title{font-size:1.5em;font-weight:700;color:#2c3e50}.pyramide-view .pyramide-msg{font-size:1em;color:#95a5a6}.pyramide-stars-view{display:flex;flex-direction:column;padding:16px 20px;gap:16px;min-height:calc(100vh - 56px)}.pyramide-stars-empty{padding:60px 20px;text-align:center;color:#95a5a6;font-size:.95em}.pyramide-mode-bar{display:flex;flex-direction:column;gap:4px;background:#fff;border-radius:10px;padding:4px 10px;box-shadow:0 2px 8px #00000012;width:100%}.pyramide-bar-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pyramide-slider-row{background:#f0f4f8;border-radius:8px;padding:4px 12px;height:34px}.pyramide-slider-row.hidden{display:none}.pyramide-legend-container{margin-left:auto;flex-shrink:0}.pyramide-edit-btn{padding:8px 18px;border:2px solid #95a5a6;border-radius:8px;font-size:.85em;font-weight:600;color:#7f8c8d;background:#f8f9fa;cursor:pointer;transition:all .15s;min-width:160px;text-align:center}.pyramide-edit-btn:hover{background:#eee}.pyramide-edit-btn.editing{border-color:#e67e22;background:#e67e22;color:#fff}.pyramide-edit-btn.snapshot-mode{border-color:#8e44ad;background:#8e44ad;color:#fff}.pyramide-snapshot-btn{padding:8px 18px;border:2px solid #8e44ad;border-radius:8px;font-size:.85em;font-weight:600;color:#8e44ad;background:#f8f9fa;cursor:pointer;transition:all .15s}.pyramide-snapshot-btn:hover{background:#8e44ad;color:#fff}.pyramide-slider{width:180px;accent-color:#8e44ad;cursor:pointer;flex-shrink:0}.pyramide-slider-label{font-size:.78em;font-weight:600;color:#34495e;white-space:nowrap;min-width:130px}.pyramide-snap-actions{display:flex;align-items:center;gap:6px;margin-left:auto}.pyramide-snap-actions.hidden{display:none}.pyramide-snap-action-btn{padding:4px 12px;border:1px solid #95a5a6;border-radius:6px;font-size:.78em;font-weight:600;color:#7f8c8d;background:#fff;cursor:pointer;transition:all .12s}.pyramide-snap-action-btn:hover{background:#eee}.pyramide-snap-del-btn{border-color:#e74c3c;color:#e74c3c}.pyramide-snap-del-btn:hover{background:#e74c3c;color:#fff}.pyramide-tree-select{padding:6px 10px;border:1px solid #ccc;border-radius:8px;font-size:.88em;font-weight:600;color:#2c3e50;background:#fff;cursor:pointer;min-width:180px}.pyramide-tree-select.hidden{display:none}.pyramide-tree-select:focus{border-color:#3498db;outline:none}.logo-tree-select{position:relative;display:inline-block;min-width:220px}.logo-tree-select.hidden{display:none}.logo-tree-select__trigger{display:flex;align-items:center;gap:8px;width:100%;padding:6px 10px;border:1px solid #ccc;border-radius:8px;font-size:.88em;font-weight:600;color:#2c3e50;background:#fff;cursor:pointer;text-align:left}.logo-tree-select__trigger:hover{border-color:#3498db}.logo-tree-select__trigger:focus{border-color:#3498db;outline:none}.logo-tree-select__trigger.open{border-color:#3498db;box-shadow:0 0 0 2px #3498db2e}.logo-tree-select__trigger-label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.logo-tree-select__caret{flex-shrink:0;color:#7f8c8d;font-size:.8em}.logo-tree-select__panel{position:absolute;top:calc(100% + 4px);left:0;min-width:100%;max-height:70vh;overflow-y:auto;background:#fff;border:1px solid #ccc;border-radius:8px;box-shadow:0 4px 16px #00000026;z-index:1000;padding:6px}.logo-tree-select__panel.hidden{display:none}.logo-tree-select__group-header{display:flex;align-items:center;justify-content:center;padding:6px 8px;margin-top:4px}.logo-tree-select__group-header:first-child{margin-top:0}.logo-tree-select__group-header--text{font-size:.78em;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#7f8c8d;justify-content:flex-start}.logo-tree-select__group-logo{height:56px;width:auto;display:block}.logo-tree-select__option{display:block;width:100%;padding:6px 12px 6px 20px;border:none;background:transparent;font-size:.88em;font-weight:500;color:#2c3e50;text-align:left;cursor:pointer;border-radius:6px}.logo-tree-select__option:hover{background:#eaf2fb}.logo-tree-select__option.selected{background:#3498db;color:#fff}.pyramide-trees-tabs{display:flex;align-items:center;gap:4px;padding:0 10px;margin-top:-32px;margin-bottom:-16px}.pyramide-trees-tabs.hidden{display:none}.pyramide-tree-category{display:inline-flex;align-items:center;margin-left:10px;align-self:center;white-space:nowrap}.pyramide-tree-category.pyramide-tree-category--text{font-size:.88em;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#fff;padding:6px 12px;background:#3498db;border-radius:6px;box-shadow:0 1px 3px #3498db59}.pyramide-tree-category-logo{height:144px;width:auto;display:block;flex-shrink:0}.pyramide-tree-tab{padding:6px 16px;border:2px solid #dce4ec;border-bottom:2px solid transparent;border-radius:8px 8px 0 0;font-size:.85em;font-weight:600;color:#7f8c8d;background:#f8f9fa;cursor:pointer;transition:all .15s}.pyramide-tree-tab:hover{background:#eaf2fb;border-color:#3498db;border-bottom-color:transparent;color:#2980b9}.pyramide-tree-tab.active{background:#fff;border-color:#3498db;border-bottom-color:#fff;color:#2980b9;box-shadow:0 -2px 6px #3498db1f}.pyramide-tree-single-label{font-size:.85em;font-weight:700;color:#2980b9;padding:6px 12px;border-bottom:2px solid #3498db}.pyramide-add-tree-wrap{display:inline-flex;align-items:center;gap:6px;margin-left:8px;padding:4px 0}.pyramide-add-tree-wrap .pyramide-add-tree-select{font-size:.82em;padding:4px 8px;border:1px solid #dce4ec;border-radius:6px;background:#f8f9fa;color:#7f8c8d;cursor:pointer}.pyramide-add-tree-wrap .pyramide-add-tree-select:focus{outline:none;border-color:#3498db}.pyramide-add-tree-wrap .pyramide-add-tree-btn{font-size:.82em;padding:4px 12px;border:1px solid #3498db;border-radius:6px;background:#3498db;color:#fff;font-weight:600;cursor:pointer;transition:background .15s}.pyramide-add-tree-wrap .pyramide-add-tree-btn:hover{background:#2980b9;border-color:#2980b9}.consultant-trees-section{display:flex;flex-wrap:wrap;align-items:center;gap:8px;width:100%;padding:6px 0 4px;margin:4px 0;border-top:1px solid #eee;border-bottom:1px solid #eee}.consultant-trees-label{font-size:.82em;font-weight:600;color:#7f8c8d;white-space:nowrap}.consultant-tree-checkbox-label{display:flex;align-items:center;gap:4px;font-size:.82em;color:#2c3e50;cursor:pointer;padding:2px 6px;border-radius:4px;transition:background .1s}.consultant-tree-checkbox-label:hover{background:#eaf2fb}.consultant-tree-checkbox-label input[type=checkbox]{accent-color:#3498db;cursor:pointer}.competence-matrix-wrap.readonly .comp-cell,.competence-matrix-wrap.readonly .comp-half-cell{cursor:default;pointer-events:none}.competence-matrix-wrap.readonly .comp-upgrade-btn{display:none}.competence-matrix-wrap.readonly .comp-annotation-toggle,.competence-matrix-wrap.readonly .comp-sublevel-row{pointer-events:none}.pyramide-mode-btn{padding:8px 18px;border:none;border-radius:8px;font-size:.88em;font-weight:600;color:#7f8c8d;background:transparent;cursor:pointer;transition:all .15s}.pyramide-mode-btn:hover{background:#f0f4f8}.pyramide-mode-btn.active{background:#3498db;color:#fff;box-shadow:0 2px 6px #3498db4d}.multi-cell{position:relative;cursor:default}.multi-cell.multi-none{background:#f8f9fa;border:2px dashed #dfe6e9;color:#bdc3c7}.multi-cell.multi-acquired{border:2px solid transparent}.multi-cell.multi-acquired .comp-items{color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.35);font-weight:600}.multi-cell.multi-acquired .multi-count-badge{background:#ffffffd9;color:#2c3e50}.multi-cell:hover{filter:brightness(.95)}.multi-count-badge{position:absolute;top:4px;right:4px;min-width:20px;height:20px;border-radius:10px;font-size:.7em;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0 5px;line-height:1;z-index:1}.multi-count-badge.multi-count-zero{background:#e9ecef;color:#adb5bd}.comp-float-tip-acquired-head{font-size:.88em;font-weight:700;color:#2c3e50;margin-bottom:4px}.comp-float-tip-acquired-list{margin:0;padding:0;list-style:none}.comp-float-tip-acquired-list li{font-size:.84em;color:#2d3436;line-height:1.45;padding:1px 0}.competence-consultant-bar{display:flex;align-items:center;gap:12px;background:#fff;border-radius:10px;padding:12px 18px;box-shadow:0 2px 8px #00000012}.competence-consultant-bar label{font-size:.88em;font-weight:600;color:#7f8c8d}.competence-consultant-select{padding:7px 12px;border:1px solid #bdc3c7;border-radius:6px;font-size:.9em;color:#2c3e50;background:#fff;cursor:pointer;min-width:220px;outline:none}.competence-consultant-select:focus{border-color:#3498db}.competence-matrix-wrap{display:flex;flex-direction:column;gap:12px;flex:1}.competence-table-wrap{overflow-x:auto;background:#fff;border-radius:10px;padding:16px 8px;box-shadow:0 2px 8px #00000012}.competence-table{width:100%;min-width:800px;border-collapse:separate;border-spacing:0;font-size:.92em}.competence-table th,.competence-table td{padding:10px 14px;vertical-align:middle}.competence-thead{display:table-footer-group}.competence-th-domain{padding:12px 14px 10px;text-align:left;font-weight:800;font-size:.88em;text-transform:uppercase;letter-spacing:.07em;border-top:3px solid #2c3e50;white-space:nowrap;color:#2c3e50}.level-row td{border-top:2px solid #b8c8d8;padding-top:38px}.level-row:first-child td{border-top:none;padding-top:28px}.level-row:hover td{background:#fafbfc}td.first-level-td{position:relative}.level-sep-label{position:absolute;top:5px;left:10px;font-size:.68em;font-weight:700;letter-spacing:.06em;text-transform:uppercase;line-height:1;pointer-events:none;white-space:nowrap}.level-sep-desc{font-size:2em;font-weight:400;text-transform:none;letter-spacing:normal;opacity:.7;font-style:italic}.comp-td-split{padding:0;display:flex;gap:2px;background:#edf2f7}.comp-half{flex:1 1 0;min-width:0;display:flex;flex-direction:column;gap:2px;padding:4px 2px 2px}.comp-half .comp-cell{min-width:0;flex:1 1 auto}.comp-half-label{font-size:.65em;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#7f8c8d;text-align:center;padding:1px 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.comp-half-empty{justify-content:center;align-items:center}.comp-half-empty .comp-half-dash{color:#dfe6e9;font-size:1.1em}.comp-grid-wrap{overflow-x:auto;width:100%;padding:4px 2px 2px;box-sizing:border-box}.comp-grid{display:grid;column-gap:6px;row-gap:7px;background:linear-gradient(180deg,#2c3e5009,#2c3e5013);padding:8px 10px 14px;width:100%;box-sizing:border-box;border-radius:14px;box-shadow:inset 0 0 0 1px #2c3e500f}.comp-grid-level-sep{background:#ffffffb3;grid-column:1/-1;border-left:4px solid var(--level-color, transparent);border-radius:6px;padding:8px 12px 6px;font-size:1.44em;display:flex;align-items:baseline;flex-wrap:wrap;gap:0 8px;margin-top:4px;backdrop-filter:blur(2px)}.comp-grid-level-sep .level-sep-label,.comp-grid-level-sep .level-sep-desc{position:static;font-weight:600;font-size:1em}.comp-grid-cell{position:relative;background:#fff;border-radius:var(--tpl-cell-radius, 10px);display:flex;flex-direction:column;min-height:86px;box-shadow:var(--tpl-cell-shadow, 0 1px 3px rgba(0, 0, 0, .07), 0 0 0 1px rgba(0, 0, 0, .04));overflow:hidden;transition:box-shadow .18s,transform .18s}.comp-grid-cell:after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,transparent 0%,var(--level-color, transparent) 18%,var(--level-color, transparent) 82%,transparent 100%);opacity:.55;pointer-events:none;z-index:1}.comp-grid-cell.comp-grid-cell--empty:after{display:none}.comp-grid-cell:hover{box-shadow:0 8px 22px -6px #0000002e,0 2px 6px #00000014,0 0 0 1px #0000000f}.comp-grid-cell>.comp-cell{flex:1;border-radius:0 0 var(--tpl-cell-radius, 10px) var(--tpl-cell-radius, 10px);min-width:0;padding:24px 10px 14px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.comp-grid-cell>.comp-cell .comp-check{font-size:.8em}.comp-grid-cell>.comp-cell .comp-items{font-size:.82em}.comp-grid-cell>.comp-cell .implied-badge{font-size:.65em}.comp-grid-cell>.comp-cell .comp-annot-wrap{right:2px;bottom:2px}.comp-grid-cell-label{font-size:.67em;font-weight:700;color:#7f8c8d;padding:4px 8px;background:linear-gradient(180deg,#f8fafc,#eef1f5);border-radius:10px 10px 0 0;border-bottom:1px solid rgba(0,0,0,.06);text-align:center;word-break:break-word;flex-shrink:0;letter-spacing:.04em;text-transform:uppercase}.comp-grid-cell--empty{background:#ffffff73;box-shadow:none;color:#c8d0d8;font-size:1.1em;justify-content:center;align-items:center;min-height:60px;text-align:center}.comp-grid-domain-header{position:relative;background:linear-gradient(180deg,#fbfcfd,#eef1f5);color:#34495e;text-align:center;padding:13px 14px 12px;font-size:.78em;font-weight:700;letter-spacing:.14em;text-transform:uppercase;word-break:break-word;border-radius:10px 10px 0 0;border:1px solid rgba(44,62,80,.08);border-bottom:2px solid rgba(44,62,80,.2);box-shadow:inset 0 1px #fff,0 1px 2px #2c3e500d;display:flex;align-items:center;justify-content:center;text-shadow:0 1px 0 rgba(255,255,255,.8)}.comp-grid-domain-header.down{border-radius:0 0 10px 10px;background:linear-gradient(0deg,#fbfcfd,#eef1f5);border:1px solid rgba(44,62,80,.08);border-top:2px solid rgba(44,62,80,.2);box-shadow:inset 0 -1px #fff,0 -1px 2px #2c3e500d}.comp-grid-domain-header.comp-grid-domain-header--sep{margin-left:14px}.comp-grid-sep{height:6px;grid-column:1/-1;background:#2c3e5038;border-radius:0;margin:4px 0 0;box-shadow:0 2px 6px #2c3e502e}.comp-grid-cell--domain-start{margin-left:16px;border-left:2px solid rgba(44,62,80,.22);box-shadow:-5px 0 10px -3px #2c3e5024,0 1px 3px #00000012,0 0 0 1px #0000000a}.comp-grid-cell.comp-col-hovered:not(:has(.comp-prereq-flash,.comp-prereq-flash--optional)){background:#5b8db81a!important;box-shadow:0 0 0 1px #5b8db859,0 4px 12px -4px #5b8db840!important}.comp-grid-domain-header.comp-col-hovered{background:linear-gradient(180deg,#fff,#e3ecf5)!important;color:#2980b9!important;border-bottom-color:#2980b9!important;box-shadow:inset 0 1px #fff,0 2px 10px #2980b940!important}.comp-grid-domain-header.comp-col-hovered.down{background:linear-gradient(0deg,#fff,#e3ecf5)!important;border-top-color:#2980b9!important}.comp-grid-float-tip{display:none;position:fixed;z-index:9999;background:#fff;border:1px solid #dfe6e9;border-radius:8px;box-shadow:0 4px 20px #00000021,0 1px 4px #00000012;padding:8px 12px;min-width:140px;max-width:280px;pointer-events:none}.comp-float-tip-domain{font-size:.84em;font-weight:800;color:#2d3436;line-height:1.3}.comp-float-tip-level{font-size:.75em;font-weight:600;color:#636e72;margin-top:2px}.comp-float-tip-domain-level-desc{font-size:.74em;color:#2d3436;line-height:1.4;margin-top:6px;padding:6px 8px;background:#f7f9fa;border-left:2px solid #b2bec3;border-radius:2px;font-style:italic}.comp-float-tip-sep{border:none;border-top:1px solid #f0f3f4;margin:6px 0 4px}.comp-float-tip-skill{display:flex;flex-direction:column;gap:1px;margin-top:2px}.comp-float-tip-skill-label{font-size:.8em;color:#2d3436;line-height:1.4;font-weight:500}.comp-float-tip-skill-label:before{content:"• ";color:#b2bec3}.comp-float-tip-skill-detail{font-size:.72em;color:#636e72;line-height:1.4;padding-left:10px}.comp-float-tip-annot{font-size:.78em;color:#2d3436;line-height:1.5;font-style:italic}.comp-float-tip-prereq{font-size:.73em;font-weight:500;padding:2px 0 1px 10px;position:relative;line-height:1.4}.comp-float-tip-prereq:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:5px;height:5px;border-radius:50%}.comp-float-tip-prereq--mandatory{color:#2d3436}.comp-float-tip-prereq--mandatory:before{background:#e74c3c}.comp-float-tip-prereq--optional{color:#636e72}.comp-float-tip-prereq--optional:before{border:1.5px dashed #e74c3c;background:transparent}.comp-float-tip-status{display:inline-block;font-size:.72em;font-weight:600;letter-spacing:.03em;padding:2px 7px;border-radius:10px}.comp-float-tip-status--validated,.comp-float-tip-status--implied{background:#27ae601f;color:#27ae60}.comp-float-tip-status--validated-outdated{background:#f39c121f;color:#c47c0a}.comp-float-tip-status--in_progress{background:#2980b91f;color:#2980b9}@keyframes comp-shine-hero{0%{transform:translate(-120%) skew(-22deg);opacity:0}8%{opacity:1}92%{opacity:1}to{transform:translate(280%) skew(-22deg);opacity:0}}@keyframes comp-xp-charge{0%{width:15%;opacity:.5}to{width:92%;opacity:1}}@keyframes comp-lock-breathe{0%,to{opacity:.55}50%{opacity:.75}}@keyframes comp-glow-pulse{0%,to{box-shadow:0 0 0 2px var(--level-color),0 0 10px -1px var(--level-color),0 2px 6px #0000001f}50%{box-shadow:0 0 0 2px var(--level-color),0 0 20px 2px var(--level-color),0 2px 6px #0000001f}}.pyramide-stars-view[data-tpl=gaming] .comp-grid-level-sep{position:relative;overflow:hidden;background:linear-gradient(90deg,color-mix(in srgb,var(--level-color) 70%,white),color-mix(in srgb,var(--level-color) 35%,white),color-mix(in srgb,var(--level-color) 12%,white) 70%,#fff)!important;border-left:4px solid var(--level-color)!important;border-radius:10px!important;padding:12px 20px 10px!important;margin-top:12px!important;align-items:center!important;box-shadow:0 2px 8px -2px #2c3e5026,inset 0 1px #ffffffb3!important}.pyramide-stars-view[data-tpl=gaming] .comp-grid-level-sep:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(-45deg,transparent 0,transparent 10px,rgba(255,255,255,.35) 10px,rgba(255,255,255,.35) 11px);pointer-events:none}.pyramide-stars-view[data-tpl=gaming] .comp-grid-level-sep:after{content:"";position:absolute;top:50%;right:-2px;width:22px;height:22px;background:var(--level-color);clip-path:polygon(0 0,70% 50%,0 100%);transform:translateY(-50%);opacity:.7;filter:drop-shadow(0 0 4px color-mix(in srgb,var(--level-color) 60%,transparent));pointer-events:none}.pyramide-stars-view[data-tpl=gaming] .comp-grid-level-sep .level-sep-label{font-size:1em!important;font-weight:800!important;text-transform:uppercase;letter-spacing:.12em;color:#2c3e50!important;text-shadow:0 1px 0 rgba(255,255,255,.6)}.pyramide-stars-view[data-tpl=gaming] .comp-grid-level-sep .level-sep-label:before{content:none}.pyramide-stars-view[data-tpl=gaming] .comp-grid-level-sep .level-sep-desc{font-size:.8em!important;font-weight:500!important;color:#2c3e50c7!important;font-style:italic;text-shadow:0 1px 0 rgba(255,255,255,.5)}.pyramide-stars-view[data-tpl=gaming] .comp-grid-level-sep .level-sep-rank{margin-left:auto;display:flex;align-items:center;gap:10px;flex-shrink:0}.pyramide-stars-view[data-tpl=gaming] .comp-grid-level-sep .rank-pips{display:flex;align-items:center;gap:5px}.pyramide-stars-view[data-tpl=gaming] .comp-grid-level-sep .rank-pips .pip-filled,.pyramide-stars-view[data-tpl=gaming] .comp-grid-level-sep .rank-pips .pip-empty{display:block;width:9px;height:9px;border-radius:50%}.pyramide-stars-view[data-tpl=gaming] .comp-grid-level-sep .rank-pips .pip-filled{background:var(--level-color);box-shadow:0 0 6px 1px color-mix(in srgb,var(--level-color) 60%,transparent),inset 0 1px #ffffff80}.pyramide-stars-view[data-tpl=gaming] .comp-grid-level-sep .rank-pips .pip-empty{background:#ffffff80;border:1.5px solid rgba(44,62,80,.25)}.pyramide-stars-view[data-tpl=gaming] .comp-grid-level-sep .rank-numeral{display:flex;align-items:center;justify-content:center;min-width:34px;height:34px;padding:0 6px;background:#fff;color:var(--level-color);font-size:.78em;font-weight:900;letter-spacing:.05em;clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%);filter:drop-shadow(0 0 6px var(--level-color))}.pyramide-stars-view[data-tpl=gaming] .comp-grid-cell:has(>.comp-cell.state-validated){animation:comp-glow-pulse 3s ease-in-out infinite;border-radius:10px}.pyramide-stars-view[data-tpl=gaming] .comp-grid-cell:has(>.comp-cell.state-validated)>.comp-cell.state-validated{background-image:linear-gradient(135deg,#fff3,#ffffff0d,#0000000f 70%,#ffffff1a)!important;background-blend-mode:overlay}.pyramide-stars-view[data-tpl=gaming] .comp-grid-cell:has(>.comp-cell.state-validated)>.comp-cell.state-validated:before{content:"";position:absolute;top:0;left:4%;right:4%;height:3px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.7) 50%,transparent);border-radius:0 0 3px 3px;pointer-events:none;z-index:2}.pyramide-stars-view[data-tpl=gaming] .comp-grid-cell:has(>.comp-cell.state-validated)>.comp-cell.state-validated:after{content:"";position:absolute;top:-10%;left:-60%;width:40%;height:120%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.42),transparent);transform:skew(-22deg);animation:comp-shine-hero 4.5s ease-in-out infinite;pointer-events:none}.pyramide-stars-view[data-tpl=gaming] .comp-grid-cell:has(>.comp-cell.state-validated)>.comp-cell.state-validated .comp-check{font-size:1.1em;text-shadow:0 1px 6px rgba(0,0,0,.3)}.pyramide-stars-view[data-tpl=gaming] .comp-grid-cell:has(>.comp-cell.state-implied){box-shadow:0 0 0 1px var(--level-color),0 0 14px -2px var(--level-color),0 1px 4px #00000014}.pyramide-stars-view[data-tpl=gaming] .comp-grid-cell:has(>.comp-cell.state-implied)>.comp-cell.state-implied{background-image:linear-gradient(135deg,rgba(255,255,255,.1) 0%,transparent 40%,rgba(0,0,0,.04) 100%)!important}.pyramide-stars-view[data-tpl=gaming] .comp-grid-cell:has(>.comp-cell.state-in_progress){background:linear-gradient(180deg,#fff,color-mix(in srgb,var(--level-color) 8%,white));box-shadow:0 0 0 1px color-mix(in srgb,var(--level-color) 45%,transparent),0 2px 8px -3px color-mix(in srgb,var(--level-color) 50%,transparent),0 1px 3px #0000000f}.pyramide-stars-view[data-tpl=gaming] .comp-grid-cell:has(>.comp-cell.state-in_progress):after{height:4px;background:linear-gradient(90deg,var(--level-color, currentColor),color-mix(in srgb,var(--level-color) 60%,white));opacity:1;animation:comp-xp-charge 1.6s ease-in-out infinite alternate}.pyramide-stars-view[data-tpl=gaming] .comp-grid-cell:has(>.comp-cell.state-none){background:#ecf0f399;box-shadow:none}.pyramide-stars-view[data-tpl=gaming] .comp-grid-cell:has(>.comp-cell.state-none)>.comp-cell.state-none{animation:comp-lock-breathe 3s ease-in-out infinite}.pyramide-stars-view[data-tpl=gaming] .comp-grid-cell:has(>.comp-cell.state-none)>.comp-cell.state-none:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(-45deg,transparent,transparent 8px,rgba(0,0,0,.03) 8px,rgba(0,0,0,.03) 9px);border-radius:inherit;pointer-events:none}.pyramide-stars-view[data-tpl=gaming] .comp-grid-cell{transition:transform .18s cubic-bezier(.34,1.56,.64,1),box-shadow .18s!important}.pyramide-stars-view[data-tpl=gaming] .comp-grid-cell:hover{transform:translateY(-3px) scale(1.015);z-index:3}.pyramide-stars-view[data-tpl=gaming] .comp-grid-cell.comp-grid-cell--empty:hover{transform:none}@keyframes cyber-grid-drift{0%{background-position:0 0}to{background-position:-48px -48px}}@keyframes cyber-scanbeam{0%{transform:translate(-110%);opacity:0}12%{opacity:1}88%{opacity:1}to{transform:translate(1600%);opacity:0}}@keyframes cyber-ring-pulse{0%,to{box-shadow:0 0 0 1px var(--level-color),0 0 12px -2px var(--level-color),0 6px 18px #0000008c}50%{box-shadow:0 0 0 1px var(--level-color),0 0 26px 2px var(--level-color),0 6px 18px #0000008c}}@keyframes cyber-charge{0%{width:12%;opacity:.6}to{width:94%;opacity:1}}@keyframes cyber-flicker{0%,to{opacity:1}97%{opacity:1}98%{opacity:.82}99%{opacity:1}}.pyramide-stars-view[data-tpl=cyber]{background:var(--tpl-bg, #070b16);color:var(--tpl-text, #d7e9ff)}.pyramide-stars-view[data-tpl=cyber] .pyramide-mode-bar{background:#0a101ef5;border:1px solid rgba(0,229,255,.18);box-shadow:0 2px 12px #0000008c,0 0 20px -8px #00e5ff33;color:var(--tpl-text, #d7e9ff)}.pyramide-stars-view[data-tpl=cyber] .pyramide-slider-row{background:#00e5ff0f}.pyramide-stars-view[data-tpl=cyber] .pyramide-mode-btn{color:var(--tpl-text-dim, #5d7494)}.pyramide-stars-view[data-tpl=cyber] .pyramide-mode-btn:hover{background:#00e5ff1a;color:var(--tpl-accent, #00e5ff)}.pyramide-stars-view[data-tpl=cyber] .pyramide-mode-btn.active{background:var(--tpl-accent, #00e5ff);color:var(--tpl-bg, #070b16);box-shadow:0 0 14px #00e5ff73}.pyramide-stars-view[data-tpl=cyber] .pyramide-edit-btn{background:#0a101ecc;border-color:#00e5ff4d;color:var(--tpl-text-dim, #5d7494)}.pyramide-stars-view[data-tpl=cyber] .pyramide-edit-btn:hover{background:#00e5ff14;border-color:var(--tpl-accent, #00e5ff);color:var(--tpl-accent, #00e5ff)}.pyramide-stars-view[data-tpl=cyber] .pyramide-edit-btn.editing{background:var(--tpl-accent-2, #ff2ec4);border-color:var(--tpl-accent-2, #ff2ec4);color:#fff}.pyramide-stars-view[data-tpl=cyber] .pyramide-snapshot-btn{background:#0a101ecc;border-color:#00e5ff4d;color:var(--tpl-text-dim, #5d7494)}.pyramide-stars-view[data-tpl=cyber] .pyramide-snapshot-btn:hover{background:#00e5ff1f;color:var(--tpl-accent, #00e5ff)}.pyramide-stars-view[data-tpl=cyber] .pyramide-snap-action-btn{background:#0a101ecc;border-color:#00e5ff33;color:var(--tpl-text-dim, #5d7494)}.pyramide-stars-view[data-tpl=cyber] .pyramide-snap-action-btn:hover{background:#00e5ff1a}.pyramide-stars-view[data-tpl=cyber] .pyramide-template-select,.pyramide-stars-view[data-tpl=cyber] .pyramide-tree-select,.pyramide-stars-view[data-tpl=cyber] .logo-tree-select__trigger{background:#0a101ee0;border-color:#00e5ff40;color:var(--tpl-text, #d7e9ff)}.pyramide-stars-view[data-tpl=cyber] .pyramide-template-select:hover,.pyramide-stars-view[data-tpl=cyber] .pyramide-template-select:focus,.pyramide-stars-view[data-tpl=cyber] .pyramide-tree-select:hover,.pyramide-stars-view[data-tpl=cyber] .pyramide-tree-select:focus,.pyramide-stars-view[data-tpl=cyber] .logo-tree-select__trigger:hover,.pyramide-stars-view[data-tpl=cyber] .logo-tree-select__trigger:focus{border-color:var(--tpl-accent, #00e5ff)}.pyramide-stars-view[data-tpl=cyber] .pyramide-template-select.open,.pyramide-stars-view[data-tpl=cyber] .pyramide-tree-select.open,.pyramide-stars-view[data-tpl=cyber] .logo-tree-select__trigger.open{border-color:var(--tpl-accent, #00e5ff);box-shadow:0 0 0 2px #00e5ff2e}.pyramide-stars-view[data-tpl=cyber] .logo-tree-select__panel{background:#0a101efa;border-color:#00e5ff40;box-shadow:0 4px 20px #000000b3,0 0 0 1px #00e5ff26}.pyramide-stars-view[data-tpl=cyber] .logo-tree-select__option{color:var(--tpl-text, #d7e9ff)}.pyramide-stars-view[data-tpl=cyber] .logo-tree-select__option:hover{background:#00e5ff1a}.pyramide-stars-view[data-tpl=cyber] .logo-tree-select__option.selected{background:var(--tpl-accent, #00e5ff);color:var(--tpl-bg, #070b16)}.pyramide-stars-view[data-tpl=cyber] .logo-tree-select__group-header--text{color:var(--tpl-text-dim, #5d7494)}.pyramide-stars-view[data-tpl=cyber] .pyramide-tree-tab{background:#0a101eb3;border-color:#00e5ff2e;color:var(--tpl-text-dim, #5d7494)}.pyramide-stars-view[data-tpl=cyber] .pyramide-tree-tab:hover{background:#00e5ff14;border-color:var(--tpl-accent, #00e5ff);color:var(--tpl-accent, #00e5ff)}.pyramide-stars-view[data-tpl=cyber] .pyramide-tree-tab.active{background:#0a101ef2;border-color:var(--tpl-accent, #00e5ff);color:var(--tpl-accent, #00e5ff);box-shadow:0 -2px 10px #00e5ff2e}.pyramide-stars-view[data-tpl=cyber] .pyramide-slider-label{color:var(--tpl-text-dim, #5d7494)}.pyramide-stars-view[data-tpl=cyber] .comp-grid-float-tip{background:#0a101ef7;border-color:#00e5ff38;box-shadow:0 4px 24px #000000b3,0 0 0 1px #00e5ff1f}.pyramide-stars-view[data-tpl=cyber] .comp-float-tip-domain{color:var(--tpl-text, #d7e9ff)}.pyramide-stars-view[data-tpl=cyber] .comp-float-tip-level{color:var(--tpl-text-dim, #5d7494)}.pyramide-stars-view[data-tpl=cyber] .comp-float-tip-sep{border-color:#00e5ff1f}.pyramide-stars-view[data-tpl=cyber] .comp-float-tip-domain-level-desc{background:#00e5ff0f;border-left-color:#00e5ff4d;color:var(--tpl-text, #d7e9ff)}.pyramide-stars-view[data-tpl=cyber] .comp-float-tip-skill-label{color:var(--tpl-text, #d7e9ff)}.pyramide-stars-view[data-tpl=cyber] .comp-float-tip-skill-label:before{color:#00e5ff80}.pyramide-stars-view[data-tpl=cyber] .comp-float-tip-skill-detail{color:var(--tpl-text-dim, #5d7494)}.pyramide-stars-view[data-tpl=cyber] .comp-grid{position:relative;font-family:var(--tpl-font-body);font-size:1.18em;background:radial-gradient(ellipse 60% 45% at 18% 0%,rgba(0,229,255,.1),transparent 70%),radial-gradient(ellipse 50% 40% at 85% 100%,rgba(255,46,196,.08),transparent 70%),linear-gradient(180deg,#0a1020 0%,var(--tpl-bg, #070b16) 55%,#05080f 100%);box-shadow:inset 0 0 0 1px #00e5ff38,inset 0 0 60px #0009,0 0 24px -6px #00e5ff59;border-radius:10px}.pyramide-stars-view[data-tpl=cyber] .comp-grid:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,rgba(0,229,255,.05) 0,rgba(0,229,255,.05) 1px,transparent 1px,transparent 48px),repeating-linear-gradient(0deg,rgba(0,229,255,.05) 0,rgba(0,229,255,.05) 1px,transparent 1px,transparent 48px);animation:cyber-grid-drift 14s linear infinite;border-radius:inherit;pointer-events:none}.pyramide-stars-view[data-tpl=cyber] .comp-grid:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(255,255,255,.025) 0,rgba(255,255,255,.025) 1px,transparent 1px,transparent 3px),radial-gradient(ellipse 120% 100% at 50% 50%,transparent 65%,rgba(0,0,0,.35) 100%);border-radius:inherit;pointer-events:none}.pyramide-stars-view[data-tpl=cyber] .comp-grid-level-sep{position:relative;overflow:hidden;background:linear-gradient(90deg,color-mix(in srgb,var(--level-color) 30%,rgba(10,16,30,.92)),#0a101eeb 45%,#0a101ed9);border-left:3px solid var(--level-color);border-radius:4px;clip-path:polygon(0 0,calc(100% - 16px) 0,100% 16px,100% 100%,16px 100%,0 calc(100% - 16px));filter:drop-shadow(0 0 8px color-mix(in srgb,var(--level-color) 45%,transparent));padding:12px 22px 10px;margin-top:14px;align-items:center;backdrop-filter:none}.pyramide-stars-view[data-tpl=cyber] .comp-grid-level-sep:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(-60deg,transparent 0,transparent 14px,rgba(0,229,255,.05) 14px,rgba(0,229,255,.05) 15px);pointer-events:none}.pyramide-stars-view[data-tpl=cyber] .comp-grid-level-sep:after{content:"";position:absolute;top:0;bottom:0;left:0;width:7%;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--level-color) 35%,rgba(255,255,255,.25)),transparent);animation:cyber-scanbeam 5.5s ease-in-out infinite;pointer-events:none}.pyramide-stars-view[data-tpl=cyber] .comp-grid-level-sep .level-sep-label{font-family:var(--tpl-font-title);font-size:.92em;font-weight:700;text-transform:uppercase;letter-spacing:.22em;color:#eef8ff;text-shadow:0 0 8px color-mix(in srgb,var(--level-color) 80%,transparent),0 0 22px color-mix(in srgb,var(--level-color) 50%,transparent);animation:cyber-flicker 7s steps(1) infinite}.pyramide-stars-view[data-tpl=cyber] .comp-grid-level-sep .level-sep-desc{font-family:var(--tpl-font-body);font-size:.72em;font-weight:600;font-style:normal;letter-spacing:.06em;color:#d7e9ffb8;opacity:1}.pyramide-stars-view[data-tpl=cyber] .comp-grid-level-sep .level-sep-rank{margin-left:auto;display:flex;align-items:center;gap:12px;flex-shrink:0}.pyramide-stars-view[data-tpl=cyber] .comp-grid-level-sep .rank-pips{display:flex;align-items:center;gap:7px}.pyramide-stars-view[data-tpl=cyber] .comp-grid-level-sep .rank-pips .pip-filled,.pyramide-stars-view[data-tpl=cyber] .comp-grid-level-sep .rank-pips .pip-empty{display:block;width:8px;height:8px;transform:rotate(45deg);border-radius:1px}.pyramide-stars-view[data-tpl=cyber] .comp-grid-level-sep .rank-pips .pip-filled{background:var(--level-color);box-shadow:0 0 7px 1px color-mix(in srgb,var(--level-color) 80%,transparent),inset 0 0 2px #fff9}.pyramide-stars-view[data-tpl=cyber] .comp-grid-level-sep .rank-pips .pip-empty{background:transparent;border:1px solid rgba(0,229,255,.35)}.pyramide-stars-view[data-tpl=cyber] .comp-grid-level-sep .rank-numeral{display:flex;align-items:center;justify-content:center;min-width:36px;height:36px;padding:0 7px;background:linear-gradient(180deg,#141e34f2,#080d18f2);color:#eef8ff;font-family:var(--tpl-font-title);font-size:.74em;font-weight:900;letter-spacing:.08em;text-shadow:0 0 8px var(--level-color);clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%);box-shadow:inset 0 0 0 1.5px var(--level-color);filter:drop-shadow(0 0 7px color-mix(in srgb,var(--level-color) 65%,transparent))}.pyramide-stars-view[data-tpl=cyber] .comp-grid-domain-header{position:relative;background:var(--tpl-panel, rgba(13, 22, 40, .88));border:1px solid rgba(0,229,255,.22);border-bottom:2px solid rgba(0,229,255,.55);border-radius:4px 4px 0 0;color:var(--tpl-accent, #00e5ff);font-family:var(--tpl-font-title);font-weight:700;letter-spacing:.18em;text-shadow:0 0 10px rgba(0,229,255,.55);box-shadow:inset 0 0 18px #00e5ff0f,0 0 12px -4px #00e5ff73}.pyramide-stars-view[data-tpl=cyber] .comp-grid-domain-header:before,.pyramide-stars-view[data-tpl=cyber] .comp-grid-domain-header:after{content:"";position:absolute;width:9px;height:9px;pointer-events:none}.pyramide-stars-view[data-tpl=cyber] .comp-grid-domain-header:before{top:3px;left:3px;border-top:1.5px solid rgba(0,229,255,.7);border-left:1.5px solid rgba(0,229,255,.7)}.pyramide-stars-view[data-tpl=cyber] .comp-grid-domain-header:after{bottom:3px;right:3px;border-bottom:1.5px solid rgba(0,229,255,.7);border-right:1.5px solid rgba(0,229,255,.7)}.pyramide-stars-view[data-tpl=cyber] .comp-grid-domain-header.down{border:1px solid rgba(0,229,255,.22);border-top:2px solid rgba(0,229,255,.55);border-radius:0 0 4px 4px;background:var(--tpl-panel, rgba(13, 22, 40, .88));box-shadow:inset 0 0 18px #00e5ff0f,0 0 12px -4px #00e5ff73}.pyramide-stars-view[data-tpl=cyber] .comp-grid-cell{background:var(--tpl-panel, rgba(13, 22, 40, .88));transition:transform .18s cubic-bezier(.34,1.56,.64,1),box-shadow .18s!important}.pyramide-stars-view[data-tpl=cyber] .comp-grid-cell:hover{transform:translateY(-3px) scale(1.02);z-index:3;box-shadow:0 0 0 1px var(--tpl-accent, #00e5ff),0 0 22px -4px var(--tpl-accent, #00e5ff),0 10px 26px #0009}.pyramide-stars-view[data-tpl=cyber] .comp-grid-cell.comp-grid-cell--empty:hover{transform:none;box-shadow:none}.pyramide-stars-view[data-tpl=cyber] .comp-grid-cell-label{background:linear-gradient(180deg,#00e5ff1a,#00e5ff08);border-bottom:1px solid rgba(0,229,255,.25);color:#00e5ffd9;font-family:var(--tpl-font-title);letter-spacing:.14em;border-radius:6px 6px 0 0}.pyramide-stars-view[data-tpl=cyber] .comp-grid-cell:has(>.comp-cell.state-validated){animation:cyber-ring-pulse 2.8s ease-in-out infinite;border-radius:var(--tpl-cell-radius, 6px)}.pyramide-stars-view[data-tpl=cyber] .comp-grid-cell:has(>.comp-cell.state-validated)>.comp-cell.state-validated{background-image:repeating-linear-gradient(0deg,rgba(255,255,255,.05) 0,rgba(255,255,255,.05) 1px,transparent 1px,transparent 3px),linear-gradient(135deg,#ffffff38,#ffffff0a,#0000002e 70%,#ffffff1a)!important}.pyramide-stars-view[data-tpl=cyber] .comp-grid-cell:has(>.comp-cell.state-validated)>.comp-cell.state-validated:before{content:"";position:absolute;top:0;left:5%;right:5%;height:2px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.85) 50%,transparent);pointer-events:none;z-index:2}.pyramide-stars-view[data-tpl=cyber] .comp-grid-cell:has(>.comp-cell.state-validated)>.comp-cell.state-validated:after{content:"";position:absolute;top:-10%;left:-60%;width:40%;height:120%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);transform:skew(-22deg);animation:comp-shine-hero 4s ease-in-out infinite;pointer-events:none}.pyramide-stars-view[data-tpl=cyber] .comp-grid-cell:has(>.comp-cell.state-implied){box-shadow:0 0 0 1px color-mix(in srgb,var(--level-color) 75%,transparent),0 0 14px -3px var(--level-color),0 4px 14px #00000080}.pyramide-stars-view[data-tpl=cyber] .comp-grid-cell:has(>.comp-cell.state-implied)>.comp-cell.state-implied{background-image:linear-gradient(135deg,rgba(255,255,255,.1) 0%,transparent 40%,rgba(0,0,0,.16) 100%)!important}.pyramide-stars-view[data-tpl=cyber] .comp-grid-cell:has(>.comp-cell.state-in_progress){background:linear-gradient(180deg,#0d1628eb,color-mix(in srgb,var(--level-color) 16%,rgba(13,22,40,.92)));box-shadow:0 0 0 1px color-mix(in srgb,var(--level-color) 55%,transparent),0 0 14px -4px var(--level-color),0 4px 14px #00000080}.pyramide-stars-view[data-tpl=cyber] .comp-grid-cell:has(>.comp-cell.state-in_progress):after{height:4px;background:linear-gradient(90deg,var(--level-color),var(--tpl-accent, #00e5ff));box-shadow:0 0 8px var(--level-color);opacity:1;animation:cyber-charge 1.4s ease-in-out infinite alternate}.pyramide-stars-view[data-tpl=cyber] .comp-cell.state-in_progress{background:#0a101e8c!important}.pyramide-stars-view[data-tpl=cyber] .comp-cell.state-in_progress .comp-items{color:var(--tpl-text, #d7e9ff)}.pyramide-stars-view[data-tpl=cyber] .comp-cell.state-in_progress .comp-check{background:transparent}.pyramide-stars-view[data-tpl=cyber] .comp-grid-cell:has(>.comp-cell.state-none){background:#070b16b8;box-shadow:inset 0 0 0 1px #5d749429}.pyramide-stars-view[data-tpl=cyber] .comp-grid-cell:has(>.comp-cell.state-none)>.comp-cell.state-none{background:transparent;border:1px dashed rgba(93,116,148,.3);animation:comp-lock-breathe 4s ease-in-out infinite}.pyramide-stars-view[data-tpl=cyber] .comp-grid-cell:has(>.comp-cell.state-none)>.comp-cell.state-none:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(-45deg,transparent,transparent 7px,rgba(0,229,255,.03) 7px,rgba(0,229,255,.03) 8px);border-radius:inherit;pointer-events:none}.pyramide-stars-view[data-tpl=cyber] .comp-grid-cell:has(>.comp-cell.state-none)>.comp-cell.state-none .comp-check{border-color:#5d749459;background:transparent}.pyramide-stars-view[data-tpl=cyber] .comp-cell.state-none .comp-items{color:var(--tpl-text-dim, #5d7494)}.pyramide-stars-view[data-tpl=cyber] .comp-grid-cell--empty{background:#ffffff06;color:#5d749473}.pyramide-stars-view[data-tpl=cyber] .comp-cell-watermark{background:#070b16c7;border:1px solid color-mix(in srgb,var(--level-color) 70%,white);color:#eef8ff;font-size:.7em;box-shadow:0 0 9px color-mix(in srgb,var(--level-color) 60%,transparent);text-shadow:0 0 5px var(--level-color)}.pyramide-stars-view[data-tpl=cyber] .comp-grid-sep{height:2px;background:linear-gradient(90deg,transparent,var(--tpl-accent, #00e5ff) 20%,var(--tpl-accent-2, #ff2ec4) 80%,transparent);box-shadow:0 0 10px #00e5ff80}.pyramide-stars-view[data-tpl=cyber] .comp-grid-cell--domain-start{border-left:1px solid rgba(0,229,255,.35);box-shadow:-6px 0 14px -6px #00e5ff59,var(--tpl-cell-shadow)}.pyramide-stars-view[data-tpl=cyber] .comp-grid-variant-header{background:#00e5ff14;border:1px solid rgba(0,229,255,.2);color:#00e5ffbf;font-family:var(--tpl-font-title);letter-spacing:.1em}.pyramide-stars-view[data-tpl=cyber] .comp-grid-cell.comp-col-hovered:not(:has(.comp-prereq-flash,.comp-prereq-flash--optional)){background:#00e5ff1a!important;box-shadow:0 0 0 1px #00e5ff99,0 0 16px -4px #00e5ff8c!important}.pyramide-stars-view[data-tpl=cyber] .comp-grid-cell.comp-col-hovered:not(:has(.comp-prereq-flash,.comp-prereq-flash--optional)) .comp-cell.state-none .comp-items{color:#cce8ff!important}.pyramide-stars-view[data-tpl=cyber] .comp-grid-cell.comp-col-hovered:not(:has(.comp-prereq-flash,.comp-prereq-flash--optional)) .comp-cell.state-none{animation:none!important;opacity:1!important}.pyramide-stars-view[data-tpl=cyber] .comp-grid-domain-header.comp-col-hovered{background:#00e5ff24!important;color:#eafdff!important;border-bottom-color:var(--tpl-accent, #00e5ff)!important;text-shadow:0 0 12px rgba(0,229,255,.9);box-shadow:inset 0 0 22px #00e5ff24,0 0 18px -4px #00e5ffb3!important}.pyramide-stars-view[data-tpl=cyber] .comp-grid-domain-header.comp-col-hovered.down{background:#00e5ff24!important;border-top-color:var(--tpl-accent, #00e5ff)!important}.pyramide-stars-view[data-tpl=cyber] .comp-grid-cell>.comp-cell .comp-items{font-size:.96em}.pyramide-stars-view[data-tpl=cyber] .comp-item-label{font-size:1em;font-weight:600;letter-spacing:.02em;color:inherit}.pyramide-stars-view[data-tpl=cyber] .comp-cell{color:var(--tpl-text, #f0f8ff)}.pyramide-stars-view[data-tpl=cyber] .comp-cell.state-none .comp-items{color:#9ec4e8!important}.pyramide-stars-view[data-tpl=cyber] .comp-cell.state-in_progress .comp-items{color:var(--tpl-text, #f0f8ff)!important}.pyramide-stars-view[data-tpl=percall] .comp-grid{font-family:var(--tpl-font-body)}.pyramide-stars-view[data-tpl=percall] .comp-grid{background:#fafafa;box-shadow:inset 0 0 0 1px var(--tpl-grey-lighter, #c3c4c5);border-radius:8px}.pyramide-stars-view[data-tpl=percall] .comp-grid-level-sep{background:#fff;border-left:4px solid var(--level-color, var(--tpl-accent));border-radius:8px;padding:10px 16px 8px;margin-top:10px;align-items:center;box-shadow:0 1px 3px #00000026;backdrop-filter:none}.pyramide-stars-view[data-tpl=percall] .comp-grid-level-sep .level-sep-label{font-family:var(--tpl-font-title);font-size:1em;font-weight:400;text-transform:uppercase;letter-spacing:.08em;color:var(--tpl-text, #393939)}.pyramide-stars-view[data-tpl=percall] .comp-grid-level-sep .level-sep-desc{font-size:.6em;font-style:normal;color:var(--tpl-grey, #5b5b5a);opacity:1}.pyramide-stars-view[data-tpl=percall] .comp-grid-level-sep .level-sep-rank{margin-left:auto;flex-shrink:0}.pyramide-stars-view[data-tpl=percall] .comp-grid-level-sep .rank-numeral{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:#fff;border:2px solid var(--tpl-grey-lighter, #c3c4c5);color:var(--tpl-grey, #5b5b5a);font-size:.7em;font-weight:700}.pyramide-stars-view[data-tpl=percall] .comp-grid-domain-header{background:#fff;border:1px solid var(--tpl-grey-lighter, #c3c4c5);border-bottom:2px solid var(--tpl-accent, #f59301);color:var(--tpl-text, #393939);box-shadow:0 1px 3px #00000014;text-shadow:none}.pyramide-stars-view[data-tpl=percall] .comp-grid-domain-header.down{border:1px solid var(--tpl-grey-lighter, #c3c4c5);border-top:2px solid var(--tpl-accent, #f59301);box-shadow:0 1px 3px #00000014}.pyramide-stars-view[data-tpl=percall] .comp-grid-sep{height:2px;background:var(--tpl-grey-lighter, #c3c4c5);box-shadow:none}.pyramide-stars-view[data-tpl=percall] .comp-grid-cell--domain-start{border-left-color:var(--tpl-grey-lighter, #c3c4c5);box-shadow:var(--tpl-cell-shadow)}.pyramide-stars-view[data-tpl=percall] .comp-grid-cell:hover{box-shadow:0 3px 10px #00000026}.pyramide-stars-view[data-tpl=percall] .comp-cell-watermark{width:22px;height:22px;font-size:.8em;background:#fff;border:none;color:var(--tpl-grey, #5b5b5a);box-shadow:0 1px 3px #00000026;text-shadow:none}.pyramide-stars-view[data-tpl=percall] .comp-grid-cell.comp-col-hovered:not(:has(.comp-prereq-flash,.comp-prereq-flash--optional)){background:#f5930112!important;box-shadow:0 0 0 1px #f5930173,0 2px 8px -3px #f593014d!important}.pyramide-stars-view[data-tpl=percall] .comp-grid-domain-header.comp-col-hovered{background:#fff!important;color:var(--tpl-accent, #f59301)!important;border-bottom-color:var(--tpl-accent, #f59301)!important;box-shadow:0 1px 3px #00000014!important}.pyramide-stars-view[data-tpl=percall] .comp-grid-domain-header.comp-col-hovered.down{background:#fff!important;border-top-color:var(--tpl-accent, #f59301)!important}.pyramide-stars-view[data-tpl=minimal] .comp-grid{background:transparent;box-shadow:none;padding:4px 0 8px;column-gap:4px;row-gap:4px}.pyramide-stars-view[data-tpl=minimal] .comp-grid-level-sep{background:transparent;border-left:none;border-bottom:2px solid var(--level-color, #ccc);border-radius:0;padding:6px 4px 4px;font-size:1.1em;backdrop-filter:none}.pyramide-stars-view[data-tpl=minimal] .comp-grid-cell{min-height:64px}.pyramide-stars-view[data-tpl=minimal] .comp-grid-cell:after{display:none}.pyramide-stars-view[data-tpl=minimal] .comp-grid-cell:hover{box-shadow:0 0 0 1px #00000038}.pyramide-stars-view[data-tpl=minimal] .comp-grid-cell--domain-start{border-left-color:#00000026;box-shadow:var(--tpl-cell-shadow)}.pyramide-stars-view[data-tpl=minimal] .comp-grid-domain-header{background:transparent;border:none;border-bottom:2px solid rgba(0,0,0,.25);border-radius:0;box-shadow:none;text-shadow:none}.pyramide-stars-view[data-tpl=minimal] .comp-grid-domain-header.down{border:none;border-top:2px solid rgba(0,0,0,.25);box-shadow:none}.pyramide-stars-view[data-tpl=minimal] .comp-grid-sep{height:2px;background:#00000026;box-shadow:none}.pyramide-stars-view[data-tpl=minimal] .comp-cell-watermark{background:transparent;border:none;box-shadow:none}.pyramide-template-select{padding:6px 10px;border:1px solid #ccc;border-radius:8px;font-size:.85em;font-weight:600;color:#2c3e50;background:#fff;cursor:pointer}.pyramide-template-select:focus{border-color:#3498db;outline:none}.comp-grid-variant-header{background:#34495e;color:#bdc3c7;text-align:center;padding:4px 6px;font-size:.68em;font-weight:600;border-radius:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:.03em}.comp-combo-cell{width:100%;border:1px dashed #b2bec3;border-radius:6px}.comp-combo-cell .comp-item-label{color:#7f8c8d;font-weight:500}.comp-combo-cell.state-validated .comp-item-label,.comp-combo-cell.state-implied .comp-item-label{color:#fff;font-weight:600}.comp-combo-locked{cursor:not-allowed!important;filter:grayscale(.4) brightness(.88);border-style:dashed}.comp-combo-locked .comp-item-label{color:#636e72}.comp-combo-locked .comp-detail-tooltip{filter:none}.comp-combo-lock-badge{display:block;font-size:.72em;color:#636e72;margin-top:4px;font-style:italic;font-weight:500}@keyframes prereq-flash{0%{box-shadow:none}20%{box-shadow:0 0 0 3px #e74c3c,0 0 14px #e74c3c73}50%{box-shadow:0 0 0 3px #e74c3c,0 0 14px #e74c3c73}to{box-shadow:none}}.comp-prereq-flash{animation:prereq-flash .7s ease forwards;border-radius:6px}.comp-grid-cell:has(>.comp-cell.comp-prereq-flash){animation:prereq-flash .7s ease forwards!important}@keyframes prereq-flash-optional{0%{outline:0px dashed transparent}20%{outline:3px dashed #e74c3c;box-shadow:0 0 10px #e74c3c4d}50%{outline:3px dashed #e74c3c;box-shadow:0 0 10px #e74c3c4d}to{outline:0px dashed transparent}}.comp-prereq-flash--optional{animation:prereq-flash-optional .7s ease forwards;border-radius:6px}.comp-grid-cell:has(>.comp-cell.comp-prereq-flash--optional){animation:prereq-flash-optional .7s ease forwards!important}.comp-cell{min-width:130px;cursor:pointer;border-radius:6px;padding:8px 10px;transition:all .15s;user-select:none;position:relative}.comp-cell:hover{filter:brightness(.95);z-index:1}.comp-cell.state-none{background:#f8f9fa;border:2px dashed #dfe6e9;color:#bdc3c7}.comp-cell.state-implied{border:2px solid transparent}.comp-cell.state-validated{border:2px solid transparent;opacity:1}.comp-cell.state-validated-outdated{border:2px dashed rgba(255,255,255,.6);opacity:.85}.comp-cell.state-in_progress{background:#fff!important;opacity:1}.comp-cell.state-none .comp-items{color:#95a5a6}.comp-cell.state-implied .comp-items,.comp-cell.state-validated .comp-items,.comp-cell.state-validated-outdated .comp-items{color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.35)}.comp-cell.state-in_progress .comp-items{color:#2c3e50;font-weight:500}.comp-cell-svg-badge{position:absolute;top:4px;right:4px;width:56px;height:56px;pointer-events:none;z-index:2}.comp-cell-svg-badge svg{width:100%;height:100%;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.comp-cell-watermark{position:absolute;top:6px;right:6px;width:26px;height:26px;font-size:.95em;font-weight:900;line-height:1;display:inline-flex;align-items:center;justify-content:center;color:#fffffff2;background:#ffffff2e;border:1.5px solid rgba(255,255,255,.55);border-radius:50%;box-shadow:inset 0 1px #ffffff73,0 1px 3px #00000040;text-shadow:0 1px 2px rgba(0,0,0,.4);pointer-events:none;user-select:none;z-index:2}.state-implied .comp-cell-watermark{background:#ffffff21;border-color:#fff6;box-shadow:none;font-size:.95em}.comp-check{width:18px;height:18px;border-radius:4px;display:inline-flex;align-items:center;justify-content:center;font-size:.75em;margin-right:6px;flex-shrink:0;vertical-align:top;margin-top:1px}.state-none .comp-check{border:2px solid #dfe6e9;background:#fff}.state-implied .comp-check{border:2px solid rgba(255,255,255,.6);background:#ffffff4d}.state-validated .comp-check,.state-validated-outdated .comp-check{border:2px solid rgba(255,255,255,.8);background:#ffffffe6}.state-in_progress .comp-check{background:#fff}.state-implied .comp-check:after,.state-validated .comp-check:after,.state-validated-outdated .comp-check:after{content:"✓";font-weight:800}.state-implied .comp-check:after{color:#fffc}.state-validated-outdated .comp-check:after{color:#ffc864}.state-in_progress .comp-check:after{content:"◐";font-size:.95em}.comp-items{display:block;width:100%;text-align:center}.comp-item-label{display:block;text-align:center;font-size:.78em;font-weight:600;line-height:1.5}.comp-item-label:not(:last-child):after{content:"";display:block;height:5px}.implied-badge{display:block;text-align:center;font-size:.68em;font-weight:600;margin-top:3px;opacity:.85;font-style:italic;text-shadow:0 1px 2px rgba(0,0,0,.2)}.comp-delta-panel{margin-top:8px;padding-top:7px;border-top:1px solid rgba(255,255,255,.3);display:flex;flex-direction:column;gap:3px}.comp-delta-title{font-size:.62em;font-weight:700;text-transform:uppercase;letter-spacing:.05em;display:block;margin-bottom:2px}.comp-delta-title.comp-delta-new-title{color:#ffebb4}.comp-delta-title.comp-delta-del-title{color:#ffb4b4e6;margin-top:4px}.comp-delta-item{font-size:.7em;display:block;line-height:1.4;padding:1px 4px;border-radius:3px}.comp-delta-item.comp-delta-new{background:#ffffff2e;color:#fff}.comp-delta-item.comp-delta-deleted{text-decoration:line-through;color:#ffc8c8cc;font-style:italic}.comp-upgrade-btn{display:block;width:100%;margin-top:8px;padding:5px 8px;background:#ffffff38;border:1px solid rgba(255,255,255,.45);border-radius:5px;color:#fff;font-size:.7em;font-weight:600;cursor:pointer;text-align:center;transition:background .15s}.comp-upgrade-btn:hover{background:#ffffff61}.implied-badge{display:block;font-size:.65em;margin-top:3px;opacity:.75;font-style:italic}.comp-annot-wrap{position:absolute;bottom:4px;right:4px;opacity:0;transition:opacity .15s;z-index:2}.comp-cell:hover>.comp-annot-wrap{opacity:1}.comp-annot-wrap.has-annotation{opacity:1}.comp-annot-icon{background:none;border:none;font-size:.8em;cursor:pointer;padding:2px 4px;border-radius:4px;line-height:1;transition:background .15s}.comp-annot-icon:hover{background:#ffffff59}.comp-annot-tooltip{display:none;position:absolute;right:0;top:100%;margin-top:4px;background:#2c3e50;color:#fff;font-size:.75em;line-height:1.4;padding:8px 12px;border-radius:8px;min-width:160px;max-width:280px;white-space:pre-wrap;word-break:break-word;box-shadow:0 4px 16px #00000040;pointer-events:none;z-index:20}.comp-annot-wrap:hover>.comp-annot-tooltip{display:block}.comp-detail-tooltip{display:none;position:absolute;left:100%;top:0;margin-left:8px;z-index:9999}.comp-detail-tooltip.flip-left{left:auto;right:100%;margin-left:0;margin-right:8px}.comp-detail-tooltip{background:#fff;border:1px solid #dfe6e9;border-radius:8px;box-shadow:0 4px 20px #0000001f,0 1px 4px #0000000f;padding:6px 0;min-width:180px;max-width:320px;pointer-events:none}.comp-detail-tooltip .comp-tooltip-item{padding:7px 14px}.comp-detail-tooltip .comp-tooltip-item:not(:last-child){border-bottom:1px solid #f0f3f4}.comp-detail-tooltip .comp-tooltip-item--muted .comp-tooltip-label{color:#b2bec3;font-weight:500}.comp-detail-tooltip .comp-tooltip-label{display:block;font-size:.82em;font-weight:700;color:#2d3436;line-height:1.3}.comp-detail-tooltip .comp-tooltip-detail{display:block;margin-top:3px;font-size:.76em;color:#636e72;line-height:1.5}.comp-cell:hover>.comp-detail-tooltip{display:block}.comp-annot-overlay{position:fixed;inset:0;background:#00000059;z-index:9000;display:flex;align-items:center;justify-content:center;animation:annot-fade-in .12s ease-out}@keyframes annot-fade-in{0%{opacity:0}to{opacity:1}}.comp-annot-modal{background:#fff;border-radius:12px;padding:20px 24px;box-shadow:0 12px 48px #00000038;min-width:320px;max-width:440px;width:90vw;display:flex;flex-direction:column;gap:12px;animation:annot-slide-in .15s ease-out}@keyframes annot-slide-in{0%{transform:translateY(12px);opacity:0}to{transform:translateY(0);opacity:1}}.comp-annot-modal-header{display:flex;flex-direction:column;gap:2px}.comp-annot-modal-title{font-size:1em;font-weight:700;color:#2c3e50}.comp-annot-modal-context{font-size:.82em;color:#95a5a6}.comp-annot-textarea{width:100%;min-height:60px;border:1px solid #bdc3c7;border-radius:6px;padding:8px 10px;font-size:.85em;font-family:inherit;color:#2c3e50;resize:vertical;outline:none}.comp-annot-textarea:focus{border-color:#3498db;box-shadow:0 0 0 3px #3498db1f}.comp-annot-textarea::placeholder{color:#bdc3c7}.comp-annot-btns{display:flex;gap:6px;flex-wrap:wrap}.comp-annot-save{background:#3498db;color:#fff;border:none;padding:6px 14px;border-radius:6px;font-size:.8em;font-weight:600;cursor:pointer;transition:background .15s}.comp-annot-save:hover{background:#2980b9}.comp-annot-cancel{background:none;border:1px solid #bdc3c7;border-radius:6px;padding:6px 12px;font-size:.8em;cursor:pointer;color:#7f8c8d;transition:border-color .15s}.comp-annot-cancel:hover{border-color:#7f8c8d}.comp-annot-delete{background:none;border:1px solid #bdc3c7;border-radius:6px;padding:6px 12px;font-size:.8em;cursor:pointer;color:#e74c3c;margin-left:auto;transition:border-color .15s,background .15s}.comp-annot-delete:hover{border-color:#e74c3c;background:#e74c3c0f}.competence-legend{display:flex;gap:20px;flex-wrap:wrap;font-size:.82em;padding:8px 4px}.competence-legend-item{display:flex;align-items:center;gap:7px;color:#7f8c8d}.competence-legend-dot{min-width:18px!important;width:18px!important;height:18px!important;padding:0!important;pointer-events:none;cursor:default!important}.competence-legend-dot:hover{filter:none!important}.competence-legend-dot.multi-acquired{background:#3498db99!important}.objectives-view{padding:24px 28px;max-width:100%}.objectives-top-bar{display:flex;align-items:center;gap:14px;margin-bottom:24px;flex-wrap:wrap}.objectives-consultant-select,.objectives-year-select{padding:8px 14px;border-radius:8px;border:1px solid #bdc3c7;font-size:.95em;background:#fff;transition:border-color .2s}.objectives-consultant-select:focus,.objectives-year-select:focus{border-color:#3498db;outline:none}.objectives-btn{padding:8px 18px;border-radius:8px;border:none;font-size:.85em;font-weight:600;cursor:pointer;background:#3498db;color:#fff;transition:background .15s,box-shadow .15s}.objectives-btn:hover{background:#2980b9;box-shadow:0 2px 8px #3498db40}.objectives-btn-add{background:#27ae60}.objectives-btn-add:hover{background:#219a52;box-shadow:0 2px 8px #27ae6040}.objectives-btn-meeting{background:#8e44ad}.objectives-btn-meeting:hover{background:#7d3c98;box-shadow:0 2px 8px #8e44ad40}.objectives-btn-cancel{background:#95a5a6}.objectives-btn-cancel:hover{background:#7f8c8d}.objectives-btn-del{background:#e74c3c;color:#fff}.objectives-btn-del:hover{background:#d62c1a}.objectives-btn-share{background:#f59e0b}.objectives-btn-share:hover{background:#d97706;box-shadow:0 2px 8px #f59e0b4d}.objectives-empty{color:#7f8c8d;font-style:italic;padding:48px 0;text-align:center;font-size:1.05em}.objectives-grid-area{overflow-x:auto;border-radius:12px;box-shadow:0 2px 12px #0000000f;cursor:default}.obj-grid{display:grid;min-width:max-content;background:#fff;border-radius:12px}.obj-grid-hdr{padding:14px 16px;font-weight:700;font-size:.82em;text-transform:uppercase;letter-spacing:.06em;color:#fff;background:#2c3e50;border-bottom:2px solid rgba(255,255,255,.08)}.obj-grid-corner{position:sticky;left:0;z-index:3;background:#34495e}.obj-meeting-hdr{position:relative;display:flex;align-items:center;justify-content:center;gap:0;cursor:pointer;transition:background .15s;border-left:1px solid rgba(255,255,255,.1);font-size:.88em;outline:none}.obj-meeting-hdr:hover{background:#2980b9}.obj-meeting-hdr .obj-hdr-label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center;outline:none}.obj-meeting-hdr .obj-hdr-label[contenteditable]{cursor:text;white-space:normal;background:#fff;color:#2c3e50;caret-color:#2c3e50;border-radius:3px;padding:0 4px}.obj-meeting-hdr .obj-hdr-resize{display:flex;gap:2px;opacity:0;transition:opacity .15s;pointer-events:none;margin-left:4px}.obj-meeting-hdr:hover .obj-hdr-resize{opacity:1;pointer-events:auto}.obj-meeting-hdr .obj-resize-btn{background:#ffffff2e;border:none;color:#fff;font-size:.78em;line-height:1;width:18px;height:18px;border-radius:3px;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;transition:background .12s}.obj-meeting-hdr .obj-resize-btn:hover{background:#ffffff59}.obj-card{position:sticky;left:0;z-index:2;background:#fafbfd;padding:16px 18px;border-bottom:1px solid #ecf0f1;border-right:2px solid #ecf0f1;transition:background .15s;overflow:visible}.obj-card:hover{background:#f0f2f7;z-index:10}.obj-card-top{display:flex;align-items:center;gap:10px}.obj-card-num{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:#3498db;color:#fff;font-size:.78em;font-weight:700;flex-shrink:0}.obj-card-title{font-weight:600;font-size:.95em;color:#2c3e50;flex:1;white-space:normal;word-break:break-word;line-height:1.35}.obj-card-actions{flex-shrink:0;display:flex;gap:2px;opacity:0;transition:opacity .15s}.obj-card:hover .obj-card-actions{opacity:1}.obj-card-actions button{background:none;border:none;cursor:pointer;padding:3px 5px;font-size:.88em;border-radius:4px;transition:background .12s}.obj-card-actions button:hover{background:#0000000f}.obj-card-meta{display:flex;align-items:center;gap:6px;margin-top:6px;font-size:.8em;color:#7f8c8d}.obj-card-cat{background:#d9ecf8;color:#2980b9;padding:2px 8px;border-radius:10px;font-weight:500;font-size:.9em}.obj-card-sep{color:#bdc3c7}.obj-card-subcat{background:#e4d0ed;color:#7d3c98;padding:2px 8px;border-radius:10px;font-weight:500;font-size:.9em}.obj-card-desc{margin-top:6px;font-size:.82em;color:#7f8c8d;line-height:1.4}.obj-tooltip{display:none;position:fixed;z-index:1000;background:#fff;border:1px solid #ecf0f1;border-radius:10px;box-shadow:0 8px 28px #00000029;padding:14px 18px;min-width:280px;max-width:400px;pointer-events:none}.obj-tooltip.visible{display:block}.obj-tooltip-title{font-weight:700;font-size:.95em;color:#2c3e50;margin-bottom:8px;line-height:1.35}.obj-tooltip-row{font-size:.84em;color:#7f8c8d;line-height:1.5;margin-bottom:4px;white-space:pre-wrap;word-break:break-word}.obj-tooltip-row strong{color:#2c3e50;font-weight:600}.obj-cell{padding:14px 16px;min-height:72px;cursor:pointer;word-break:break-word;font-size:.88em;line-height:1.45;color:#2c3e50;border-bottom:1px solid #ecf0f1;border-left:1px solid #ecf0f1;transition:background .12s,box-shadow .12s;position:relative;outline:none}.obj-cell:hover{background:#eaf4fb}.obj-cell.has-content{background:#d4f5e2}.obj-cell.has-content:hover{background:#bbf0d2}.obj-cell.obj-cell-editing{background:#fff;box-shadow:inset 0 0 0 2px #e67e22;cursor:text;z-index:10}.obj-cell.obj-cell-editing:hover{background:#fff}.obj-cell.obj-cell-saved{animation:obj-save-flash 1.2s ease-out}.obj-cell ul,.obj-cell ol{margin:4px 0 4px 18px;padding:0}.obj-cell li{margin:1px 0}.obj-cell a{color:#3498db;text-decoration:underline}.obj-cell b,.obj-cell strong{font-weight:600}@keyframes obj-save-flash{0%{box-shadow:inset 0 0 0 2px #27ae60;background:#b3eecc}40%{box-shadow:inset 0 0 0 2px #27ae60;background:#ccf4dd}to{box-shadow:none;background:transparent}}.obj-richbar{position:fixed;z-index:9999;display:flex;gap:1px;background:#fff;border:1px solid #d0d0d0;border-radius:6px;padding:3px;box-shadow:0 2px 10px #00000024;visibility:hidden;pointer-events:auto}.obj-richbar .obj-richbar-btn{border:none;background:transparent;cursor:pointer;font-size:.78em;padding:3px 7px;border-radius:4px;color:#444;line-height:1.3;transition:background .1s;user-select:none}.obj-richbar .obj-richbar-btn:hover{background:#f0f0f0}.obj-richbar .obj-richbar-btn.active{background:#e4e4e4;color:#111}.obj-modal-overlay{position:fixed;inset:0;background:#0006;z-index:1000;display:flex;align-items:center;justify-content:center}.obj-modal{background:#fff;border-radius:14px;padding:28px 32px;width:440px;max-width:95vw;box-shadow:0 8px 32px #0003}.obj-modal h3{margin:0 0 20px;font-size:1.1em;color:#2c3e50}.obj-modal label{display:block;margin-bottom:14px;font-size:.88em;font-weight:600;color:#34495e}.obj-modal .obj-input{display:block;width:100%;margin-top:4px;padding:8px 12px;border:1px solid #bdc3c7;border-radius:8px;font-size:.95em;font-family:inherit;box-sizing:border-box;transition:border-color .2s}.obj-modal .obj-input:focus{border-color:#3498db;outline:none}.obj-modal .obj-textarea{min-height:60px;resize:vertical}.obj-modal-btns{display:flex;gap:10px;margin-top:20px;justify-content:flex-end}.obj-modal-picker{width:min(1200px,95vw);max-height:90vh;display:flex;flex-direction:column}.obj-modal-picker h3{margin-top:0}.obj-modal-picker .obj-picker-list{margin-top:10px;overflow-y:auto;flex:1 1 auto;border:1px solid #e5e5e5;border-radius:8px;background:#fafafa}.obj-picker-cat-header{padding:10px 14px;background:#2c3e50;color:#fff;font-weight:600;font-size:.85em;text-transform:uppercase;letter-spacing:.5px;position:sticky;top:0;z-index:2}.obj-picker-subcat-header{padding:6px 14px 6px 22px;background:#f0f2f5;color:#7f8c8d;font-size:.88em;font-weight:600;border-top:1px solid #e5e5e5;border-bottom:1px solid #e5e5e5;position:sticky;top:38px;z-index:1}.obj-picker-row{display:flex;align-items:flex-start;gap:16px;padding:12px 14px 12px 28px;border-bottom:1px solid #ececec}.obj-picker-row:last-child{border-bottom:none}.obj-picker-row:hover{background:#fff}.obj-picker-row .obj-picker-info{flex:1 1 auto;min-width:0}.obj-picker-row .obj-picker-title{font-weight:600;font-size:.95em;line-height:1.35}.obj-picker-row .obj-picker-meta{display:flex;align-items:center;gap:6px;margin-top:4px;font-size:.8em;color:#7f8c8d}.obj-picker-row .obj-picker-desc{margin-top:6px;font-size:.88em;color:#7f8c8d;white-space:pre-wrap;word-break:break-word;line-height:1.45}.obj-picker-row .obj-picker-actions{flex-shrink:0;align-self:center}.td-view{padding:24px 28px;max-width:1300px;margin:0 auto}.td-filters-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:28px;padding:14px 18px;background:#fff;border-radius:10px;box-shadow:0 1px 4px #00000014}.td-filter-select{padding:7px 12px;border:1px solid #bdc3c7;border-radius:7px;font-size:.88em;font-family:inherit;background:#fafafa;cursor:pointer}.td-filter-select:focus{border-color:#3498db;outline:none}.td-btn-add{background:#3498db;color:#fff;border:none;padding:8px 18px;border-radius:6px;font-size:.85em;cursor:pointer;transition:background .2s}.td-btn-add:hover{background:#2980b9}.td-btn-add{margin-left:auto}.td-section{margin-bottom:36px}.td-section-title{font-size:1em;font-weight:700;color:#2c3e50;margin:0 0 16px;padding-bottom:8px;border-bottom:2px solid #ecf0f1;display:flex;align-items:center;gap:8px}.td-section-title.td-section-title-completed{color:#7f8c8d;border-color:#ccd4d5}.td-empty{color:#95a5a6;font-size:.9em;padding:16px 0}.td-active-group{margin-bottom:24px}.td-group-header{display:flex;align-items:center;gap:8px;font-size:.78em;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#7f8c8d;margin-bottom:10px;padding-bottom:5px;border-bottom:1px solid #bdc3c7}.td-group-header:before{content:"";display:inline-block;width:3px;height:13px;border-radius:2px;background:#bdc3c7}.td-group-header-warning{color:#cf6d17;border-bottom-color:#f0b37e}.td-group-header-warning:before{background:#e67e22}.td-group-header-crit-critique{color:#ab3326;border-bottom-color:#f5b4ae}.td-group-header-crit-critique:before{background:#e74c3c}.td-group-header-crit-haute{color:#cf6d17;border-bottom-color:#f3c195}.td-group-header-crit-haute:before{background:#e67e22}.td-group-header-crit-normale{color:#2980b9;border-bottom-color:#a0cfee}.td-group-header-crit-normale:before{background:#3498db}.td-group-header-crit-basse{color:#7f8c8d;border-bottom-color:#bfc8c9}.td-group-header-crit-basse:before{background:#95a5a6}.td-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}.td-card{background:#fff;border-radius:10px;padding:14px 16px;box-shadow:0 1px 4px #00000012;border-left:4px solid #95a5a6;cursor:pointer;transition:box-shadow .15s,transform .1s;display:flex;flex-direction:column;gap:8px}.td-card:hover{box-shadow:0 4px 12px #00000021;transform:translateY(-1px)}.td-card.td-crit-basse{border-left-color:#95a5a6}.td-card.td-crit-normale{border-left-color:#3498db}.td-card.td-crit-haute{border-left-color:#e67e22}.td-card.td-crit-critique{border-left-color:#e74c3c}.td-card-top{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.td-card-title{font-size:.95em;font-weight:600;color:#2c3e50;line-height:1.35}.td-card-meta{display:flex;flex-wrap:wrap;gap:6px;font-size:.78em;color:#7f8c8d}.td-card-due.td-overdue{color:#e74c3c;font-weight:600}.td-card-assoc{background:#ecf0f1;padding:2px 7px;border-radius:10px}.td-badge{font-size:.72em;font-weight:700;padding:2px 8px;border-radius:10px;text-transform:uppercase;letter-spacing:.03em}.td-crit-badge-basse{background:#e3e7e7;color:#7f8c8d}.td-crit-badge-normale{background:#d9ecf8;color:#2980b9}.td-crit-badge-haute{background:#f8dcc2;color:#cf6d17}.td-crit-badge-critique{background:#fbdedb;color:#d62c1a}.td-status-badge-en-cours{background:#d9ecf8;color:#2980b9}.td-status-badge-en-attente{background:#e3e7e7;color:#7f8c8d}.td-status-badge-terminé{background:#abecc6;color:#219a52}.td-card-warning{border-left-color:#e67e22!important;box-shadow:0 0 0 2px #f6ceab}.td-warning-badge{font-size:.95em;color:#cf6d17;background:#fbe9d9;border-radius:50%;width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;font-weight:700;cursor:default}.td-card-review{font-size:.76em;color:#7f8c8d;background:#ecf0f1;padding:2px 7px;border-radius:10px}.td-card-review.td-card-review-warn{background:#fbe9d9;color:#cf6d17;font-weight:700}.td-card-suivi{display:flex;flex-direction:column;gap:2px;padding:7px 10px;background:#fbfdfe;border-radius:6px;border-left:2px solid rgb(173.290376569,213.5414225941,240.509623431);margin-top:2px}.td-card-suivi-ts{font-size:.68em;font-weight:700;color:#2980b9;letter-spacing:.02em}.td-card-suivi-text{font-size:.8em;color:#34495e;line-height:1.4;white-space:pre-line}.td-btn-done{background:none;border:none;font-size:1em;cursor:pointer;padding:2px 6px;border-radius:4px;color:#27ae60}.td-btn-done:hover{background:#c4f2d7}.td-btn-done{margin-left:auto;font-size:1em;font-weight:700;border:1px solid rgb(95.7042253521,219.2957746479,147.8873239437)}.td-section-completed{opacity:.9}.td-completed-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:4px;flex-wrap:wrap}.td-completed-cutoff{display:flex;align-items:center;gap:8px}.td-completed-cutoff-label{font-size:.8em;color:#95a5a6;white-space:nowrap}.td-completed-cutoff-input{font-size:.8em;padding:4px 8px;border:1px solid #ecf0f1;border-radius:6px;background:#fff;color:#2c3e50;cursor:pointer}.td-completed-cutoff-input:focus{outline:none;border-color:#3498db}.td-completed-list{margin-top:8px}.td-completed-month-sep{display:flex;align-items:center;gap:12px;margin:22px 0 10px;font-size:.75em;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:#95a5a6}.td-completed-month-sep:before,.td-completed-month-sep:after{content:"";flex:1;height:1px;background:#ecf0f1}.td-completed-month-sep:first-child{margin-top:6px}.td-completed-sentinel{height:1px;margin-top:4px}.td-completed-entry{display:flex;align-items:center;gap:10px;padding:7px 12px;border-radius:7px;cursor:pointer;transition:background .12s;border-bottom:1px solid #ecf0f1}.td-completed-entry:last-child{border-bottom:none}.td-completed-entry:hover{background:#ecf0f1}.td-completed-title{font-size:.88em;color:#34495e;flex:1}.td-completed-meta{font-size:.75em;color:#95a5a6;white-space:nowrap}.td-btn-reopen{background:none;border:none;font-size:1em;cursor:pointer;padding:2px 6px;border-radius:4px;color:#3498db}.td-btn-reopen:hover{background:#eaf4fb}.td-btn-reopen{font-size:.95em}.mh-header{flex-shrink:0;padding:18px 28px 14px;border-bottom:1px solid #ecf0f1;background:#f0f2f5}.mh-title{font-size:1.15em;font-weight:700;color:#2c3e50;margin:0 0 12px;max-width:900px}.mh-filters{display:flex;flex-wrap:wrap;gap:7px;max-width:900px}.mh-filter-pill{display:inline-flex;align-items:center;gap:6px;padding:5px 13px 5px 9px;border-radius:20px;border:1.5px solid #ddd;background:#f7f8fa;color:#aaa;font-size:.78em;font-weight:600;cursor:pointer;transition:border-color .15s,background .15s,color .15s;user-select:none}.mh-filter-pill .mh-pill-dot{width:8px;height:8px;border-radius:50%;background:#ccc;transition:background .15s;flex-shrink:0}.mh-filter-pill.active{border-color:var(--pill-color);background:var(--pill-bg);color:var(--pill-color)}.mh-filter-pill.active .mh-pill-dot{background:var(--pill-color)}.mh-filter-pill:hover{opacity:.85}.mh-timeline-container{flex:1;overflow-y:auto;padding:12px 28px 32px}.mh-loading,.mh-empty{max-width:900px;margin:40px auto 0;text-align:center;color:#95a5a6;font-size:.9em}.mh-list{max-width:900px;margin:0 auto}.mh-month-sep{display:flex;align-items:center;gap:12px;margin:22px 0 10px;font-size:.75em;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:#95a5a6}.mh-month-sep:before,.mh-month-sep:after{content:"";flex:1;height:1px;background:#ecf0f1}.mh-month-sep:first-child{margin-top:6px}.mh-event{display:flex;align-items:flex-start;gap:10px;padding:8px 10px;border-radius:8px;border-bottom:1px solid #ecf0f1;transition:background .12s}.mh-event:last-child{border-bottom:none}.mh-event.mh-event-clickable{cursor:pointer}.mh-event.mh-event-clickable:hover{background:#ecf0f1}.mh-event-badge{flex-shrink:0;width:72px;text-align:center;font-size:.68em;font-weight:700;padding:2px 6px;border-radius:10px;white-space:nowrap;letter-spacing:.03em}.mh-event-meta{display:flex;align-items:center;gap:6px;flex-shrink:0;width:230px}.mh-event-action{flex:1;min-width:0;font-size:.68em;font-weight:600;padding:2px 7px;border-radius:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border:1px solid;background:transparent;letter-spacing:.02em}.mh-event-body{flex:1;min-width:0}.mh-event-title{font-size:.88em;font-weight:600;color:#2c3e50;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mh-event-subtitle{font-size:.76em;color:#95a5a6;margin-top:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mh-event-date{flex-shrink:0;font-size:.72em;color:#95a5a6;white-space:nowrap;padding-top:4px}.mh-sentinel{height:1px;margin-top:4px}.mh-tooltip{position:fixed;z-index:9500;background:#fff;border:1px solid #ecf0f1;border-radius:10px;box-shadow:0 4px 22px #00000024;padding:12px 14px;max-width:340px;min-width:200px;pointer-events:none;font-size:.8em;line-height:1.55}.mh-tooltip.hidden{display:none}.mh-tt-head{display:flex;align-items:baseline;gap:8px;margin-bottom:4px}.mh-tt-badge{flex-shrink:0;font-size:.72em;font-weight:700;padding:1px 7px;border-radius:9px;letter-spacing:.03em}.mh-tt-action{font-size:.78em;font-weight:600;opacity:.85;white-space:nowrap}.mh-tt-title{font-weight:700;color:#2c3e50;font-size:1em}.mh-tt-sub{color:#95a5a6;font-size:.88em;margin-bottom:2px}.mh-tt-sep{border:none;border-top:1px solid #ecf0f1;margin:8px 0}.mh-tt-row{color:#34495e;font-size:.9em;margin-bottom:2px}.mh-tt-tags{margin-top:4px;display:flex;flex-wrap:wrap;gap:4px}.mh-tt-tag{background:#f0f0f0;color:#7f8c8d;font-size:.78em;padding:1px 6px;border-radius:9px;font-weight:500}.mh-tt-snippet{color:#95a5a6;font-style:italic;font-size:.88em;display:-webkit-box;-webkit-line-clamp:4;line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.td-modal-overlay{position:fixed;inset:0;background:#0000006b;z-index:1100;display:flex;align-items:center;justify-content:center;padding:20px}.td-modal{background:#fff;border-radius:14px;padding:28px 32px;width:820px;max-width:96vw;max-height:90vh;overflow-y:auto;box-shadow:0 8px 36px #00000038;display:flex;flex-direction:column;gap:0}.td-modal-sticky-header{position:sticky;top:-28px;margin:-28px -32px 22px;padding:18px 32px 14px;background:#fff;border-radius:14px 14px 0 0;display:flex;align-items:center;justify-content:space-between;gap:12px;z-index:10;box-shadow:0 2px 8px #0000000f}.td-modal-title{margin:0;font-size:1.1em;font-weight:700;color:#2c3e50}.td-modal-close-btn{flex-shrink:0;width:30px;height:30px;border-radius:50%;border:none;background:#ecf0f1;color:#7f8c8d;font-size:1.2em;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s}.td-modal-close-btn:hover{background:#fdecea;color:#e74c3c}.td-modal-form{display:flex;flex-direction:row;gap:28px;align-items:flex-start}.td-modal-left{flex:1 1 0;min-width:0;display:flex;flex-direction:column;gap:4px}.td-modal-right{flex:0 0 230px;width:230px;display:flex;flex-direction:column;gap:4px}.td-modal-form-btns{display:flex;gap:8px;margin-top:16px}.td-label{display:block;font-size:.82em;font-weight:700;color:#34495e;margin-top:14px;margin-bottom:4px;text-transform:uppercase;letter-spacing:.04em}.td-input{display:block;width:100%;padding:8px 12px;border:1px solid #bdc3c7;border-radius:8px;font-size:.95em;font-family:inherit;box-sizing:border-box;transition:border-color .18s}.td-input:focus{border-color:#3498db;outline:none}.td-rich-wrapper{display:flex;flex-direction:column;border:1px solid #bdc3c7;border-radius:8px;overflow:hidden;transition:border-color .18s}.td-rich-wrapper:focus-within{border-color:#3498db}.td-rich-wrapper .td-rich-editor{border:none;border-radius:0}.td-rich-wrapper .td-rich-editor:focus{border-color:transparent}.td-inline-toolbar{display:flex;gap:1px;padding:4px 6px;background:#f7f7f8;border-bottom:1px solid #bdc3c7}.td-inline-toolbar .td-inline-toolbar-btn{border:none;background:transparent;cursor:pointer;font-size:.78em;padding:3px 7px;border-radius:4px;color:#555;line-height:1.3;transition:background .1s;user-select:none}.td-inline-toolbar .td-inline-toolbar-btn:hover{background:#ebebeb}.td-inline-toolbar .td-inline-toolbar-btn.active{background:#e0e0e0;color:#111;font-weight:600}.td-rich-editor{min-height:80px;max-height:200px;overflow-y:auto;padding:10px 12px;border:1px solid #bdc3c7;border-radius:8px;font-size:.92em;line-height:1.5;cursor:text;transition:border-color .18s;outline:none;box-sizing:border-box;width:100%}.td-rich-editor:focus{border-color:#3498db}.td-rich-editor:empty:before{content:attr(data-placeholder);color:#aaa;pointer-events:none}.td-rich-editor ul,.td-rich-editor ol{margin:4px 0 4px 18px;padding:0}.td-rich-editor li{margin:1px 0}.td-rich-editor b,.td-rich-editor strong{font-weight:600}.td-rich-editor a{color:#3498db;text-decoration:underline;cursor:pointer}.td-rich-editor a:hover{opacity:.8}.td-modal-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:4px}.td-modal-col{display:flex;flex-direction:column}.td-checkbox-group{display:flex;flex-wrap:wrap;gap:6px 16px;padding:8px 0 4px}.td-checkbox-label{display:flex;align-items:center;gap:6px;font-size:.88em;color:#34495e;cursor:pointer;font-weight:400!important;text-transform:none!important;letter-spacing:normal!important;margin-top:0!important;margin-bottom:0!important}.td-checkbox-label input[type=checkbox]{cursor:pointer;accent-color:#3498db}.td-ro-block{background:#ecf0f1;border-radius:10px;padding:14px 16px;display:flex;flex-direction:column;gap:8px;margin-bottom:6px}.td-ro-title{font-size:1.05em;font-weight:700;color:#2c3e50;line-height:1.3}.td-ro-desc{font-size:.88em;color:#34495e;line-height:1.55;max-height:120px;overflow-y:auto}.td-ro-desc ul,.td-ro-desc ol{margin:4px 0 4px 18px;padding:0}.td-ro-desc li{margin:1px 0}.td-ro-desc b,.td-ro-desc strong{font-weight:600}.td-ro-desc a{color:#3498db;text-decoration:underline}.td-ro-desc em{color:#95a5a6;font-style:italic}.td-ro-meta{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:.8em;color:#7f8c8d}.td-ro-chip{display:inline-flex;align-items:center;gap:3px;background:#fff;border:1px solid #bdc3c7;border-radius:20px;padding:2px 8px;font-size:.9em;color:#34495e;white-space:nowrap}.td-btn-unlock{background:#d0e7f7;color:#fff;border:none;padding:8px 18px;border-radius:6px;font-size:.85em;cursor:pointer;transition:background .2s}.td-btn-unlock:hover{background:#add6f1}.td-btn-unlock{color:#2980b9;font-size:.8em;padding:5px 12px;align-self:flex-start;margin-top:4px}.td-edit-only{display:none!important}.td-suivi-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:10px}.td-suivi-review-label{font-size:.82em;font-weight:700;color:#2980b9;white-space:nowrap;margin:0!important;text-transform:none!important;letter-spacing:normal!important}.td-suivi-review-input{width:auto!important;padding:5px 8px!important;font-size:.85em!important}.td-dissocier-wrap{display:flex;align-items:center;gap:8px;margin-top:10px;padding:8px 12px;background:#fceee2;border:1px solid rgb(240.3658536585,179.487804878,125.6341463415);border-radius:8px}.td-dissocier-wrap.hidden{display:none}.td-dissocier-input{accent-color:#e67e22;cursor:pointer;width:15px;height:15px;flex-shrink:0}.td-dissocier-label{font-size:.85em;font-weight:600;color:#cf6d17;cursor:pointer;text-transform:none!important;letter-spacing:normal!important;margin:0!important}.td-modal-btns{display:flex;gap:10px;margin-top:24px;justify-content:flex-end;align-items:center;flex-wrap:wrap}.td-btn-primary{background:#3498db;color:#fff;border:none;padding:8px 18px;border-radius:6px;font-size:.85em;cursor:pointer;transition:background .2s}.td-btn-primary:hover{background:#2980b9}.td-btn-cancel{background:#95a5a6;color:#fff;border:none;padding:8px 18px;border-radius:6px;font-size:.85em;cursor:pointer;transition:background .2s}.td-btn-cancel:hover{background:#7f8c8d}.td-btn-delete{background:#e74c3c;color:#fff;border:none;padding:8px 18px;border-radius:6px;font-size:.85em;cursor:pointer;transition:background .2s}.td-btn-delete:hover{background:#df2e1b}.td-btn-delete{margin-right:auto}.td-suivi-section{margin-top:24px;padding-top:18px;border-top:2px solid rgb(225.2719665272,239.9163179916,249.7280334728)}.td-suivi-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.td-suivi-title{font-size:.82em;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#2980b9}.td-suivi-editor{min-height:90px;max-height:220px;border-color:#add6f1;background:#fff}.td-suivi-editor:focus{border-color:#3498db;background:#fff}.td-btn-suivi-save{background:#3498db;color:#fff;border:none;padding:8px 18px;border-radius:6px;font-size:.85em;cursor:pointer;transition:background .2s}.td-btn-suivi-save:hover{background:#2980b9}.td-btn-suivi-save{font-size:.82em;padding:6px 14px;margin-top:0}.td-btn-suivi-save:disabled{background:#27ae60;cursor:default}.td-suivi-timeline{margin-top:16px;display:flex;flex-direction:column;gap:12px}.td-suivi-item{background:#ecf0f1;border-radius:8px;padding:10px 14px;border-left:3px solid rgb(173.290376569,213.5414225941,240.509623431)}.td-suivi-item-ts{font-size:.72em;font-weight:700;color:#2980b9;margin-bottom:6px;letter-spacing:.02em}.td-suivi-item-body{font-size:.88em;color:#34495e;line-height:1.55}.td-suivi-item-body ul,.td-suivi-item-body ol{margin:4px 0 4px 18px;padding:0}.td-suivi-item-body li{margin:1px 0}.td-suivi-item-body b,.td-suivi-item-body strong{font-weight:600}.td-suivi-item-body a{color:#3498db;text-decoration:underline}.td-history-panel{margin-top:24px;border-top:1px solid #ecf0f1;padding-top:16px}.td-history-title{font-size:.82em;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#7f8c8d;margin-bottom:12px}.td-history-empty{font-size:.85em;color:#95a5a6}.td-timeline{display:flex;flex-direction:column;gap:0}.td-timeline-item{display:flex;gap:12px;align-items:flex-start;border-left:2px solid #ecf0f1;margin-left:8px;padding:8px 0 8px 14px;position:relative}.td-timeline-dot{position:absolute;left:-6px;top:12px;width:10px;height:10px;border-radius:50%;background:#3498db;border:2px solid #fff;box-shadow:0 0 0 1px #3498db;flex-shrink:0}.td-timeline-content{display:flex;flex-direction:column;gap:2px}.td-timeline-ts{font-size:.75em;color:#95a5a6}.td-timeline-desc{font-size:.88em;color:#34495e}.cm-btn-todo{background:none;border:none;font-size:1em;cursor:pointer;padding:2px 6px;border-radius:4px;color:#27ae60}.cm-btn-todo:hover{background:#c4f2d7}.cm-btn-todo{border:1px solid rgb(95.7042253521,219.2957746479,147.8873239437);font-size:.82em;padding:4px 10px}.cv-detail-action-btn-todo{background:#c4f2d7;color:#219a52;border:1px solid rgb(95.7042253521,219.2957746479,147.8873239437)}.btn-todo-staffing{background:#a2eac1;color:#fff;border:none;padding:8px 18px;border-radius:6px;font-size:.85em;cursor:pointer;transition:background .2s}.btn-todo-staffing:hover{background:#81e3aa}.btn-todo-staffing{color:#219a52}.mh-view{display:flex;flex-direction:column;height:calc(100vh - 60px);overflow:hidden}.mh-layout{display:flex;flex:1;overflow:hidden}.mh-sidebar{width:220px;flex-shrink:0;background:#fff;border-right:1px solid #ecf0f1;overflow-y:auto;padding:8px 0}.mh-sidebar-title{font-size:.75em;font-weight:700;color:#7f8c8d;text-transform:uppercase;letter-spacing:.05em;padding:8px 16px 4px}.mh-sidebar-item{display:block;width:100%;text-align:left;background:none;border:none;padding:9px 16px;font-size:.875em;color:#2c3e50;cursor:pointer;border-left:3px solid transparent;transition:background .15s,border-color .15s}.mh-sidebar-item:hover{background:#f0f2f5}.mh-sidebar-item.active{background:#eaf4fb;border-left-color:#3498db;font-weight:600}.mh-pane{flex:1;overflow-y:auto;padding:24px;background:#f0f2f5}.mh-pane-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.mh-pane-title{font-size:1.1em;font-weight:700;color:#2c3e50}.mh-btn-add{background:#2c3e50;color:#fff;border:none;padding:8px 18px;border-radius:6px;font-size:.85em;cursor:pointer;transition:background .2s}.mh-btn-add:hover{background:#34495e}.mh-btn-add{font-size:.85em}.mh-list{display:flex;flex-direction:column;gap:12px}.mh-card{background:#fff;border:1px solid #bdc3c7;border-radius:10px;padding:14px 16px;display:flex;flex-direction:column;gap:8px;transition:box-shadow .15s}.mh-card:hover{box-shadow:0 2px 10px #00000014}.mh-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.mh-card-title-group{display:flex;flex-wrap:wrap;align-items:center;gap:6px;flex:1}.mh-card-title{font-weight:600;font-size:.95em;color:#2c3e50}.mh-card-client{background:#3498db;color:#fff;padding:1px 7px;border-radius:10px;font-size:.75em;font-weight:600}.mh-card-period{font-size:.78em;color:#7f8c8d;background:#f0f2f5;padding:2px 8px;border-radius:10px;border:1px solid #bdc3c7}.mh-card-source{font-size:.75em;color:#8e44ad;background:#eddff2;padding:2px 8px;border-radius:10px}.mh-card-actions{display:flex;gap:4px;flex-shrink:0}.mh-card-btn{background:none;border:none;cursor:pointer;font-size:1em;padding:4px 6px;border-radius:6px;opacity:.6;transition:opacity .15s,background .15s}.mh-card-btn:hover{opacity:1;background:#f0f2f5}.mh-card-summary{font-size:.85em;color:#34495e;line-height:1.5}.mh-card-tags{display:flex;flex-wrap:wrap;gap:5px}.mh-tag{background:#c4f2d7;color:#219a52;border:1px solid rgb(129.0338028169,226.7661971831,170.2985915493);font-size:.75em;font-weight:600;padding:2px 8px;border-radius:10px}.mh-empty{color:#7f8c8d;font-size:.9em;padding:16px 0}.mh-empty--center{text-align:center;padding-top:60px}.mh-modal-overlay{position:fixed;inset:0;background:#00000073;z-index:8000;display:flex;align-items:center;justify-content:center;padding:20px}.mh-modal{background:#fff;border-radius:12px;width:100%;max-width:680px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 8px 32px #0003}.mh-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #ecf0f1;flex-shrink:0}.mh-modal-header h3{font-size:1em;font-weight:700;color:#2c3e50}.mh-modal-close{background:none;border:none;font-size:1.1em;cursor:pointer;color:#7f8c8d;padding:4px 6px;border-radius:6px}.mh-modal-close:hover{background:#f0f2f5}.mh-modal-body{padding:20px;overflow-y:auto;display:flex;flex-direction:column;gap:14px}.mh-form-row{display:flex;flex-direction:column;gap:5px}.mh-form-row label{font-size:.85em;font-weight:600;color:#2c3e50}.mh-form-row--2col{display:grid;grid-template-columns:1fr 1fr;gap:12px}.mh-required{color:#e74c3c}.mh-hint{font-weight:400;color:#7f8c8d;font-size:.85em}.mh-client-custom{display:none;margin-top:6px}.mh-client-custom.visible{display:block}.mh-input,.mh-textarea{border:1px solid #bdc3c7;border-radius:8px;padding:8px 12px;font-size:.875em;font-family:inherit;transition:border-color .15s}.mh-input:focus,.mh-textarea:focus{outline:none;border-color:#3498db}.mh-textarea{resize:vertical;line-height:1.5}.mh-textarea--summary{resize:vertical}.mh-extract-bar{display:flex;align-items:center;gap:12px}.mh-btn-extract{background:#a563c1;color:#fff;border:none;padding:8px 18px;border-radius:6px;font-size:.85em;cursor:pointer;transition:background .2s}.mh-btn-extract:hover{background:#7d3c98}.mh-btn-extract{font-size:.85em}.mh-btn-extract:disabled{opacity:.6;cursor:not-allowed}.mh-extract-status{font-size:.82em;color:#7f8c8d}.mh-modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:14px 20px;border-top:1px solid #ecf0f1;flex-shrink:0}.mh-btn-cancel{background:#95a5a6;color:#fff;border:none;padding:8px 18px;border-radius:6px;font-size:.85em;cursor:pointer;transition:background .2s}.mh-btn-cancel:hover{background:#7f8c8d}.mh-btn-cancel{font-size:.85em}.mh-btn-save{background:#2c3e50;color:#fff;border:none;padding:8px 18px;border-radius:6px;font-size:.85em;cursor:pointer;transition:background .2s}.mh-btn-save:hover{background:#34495e}.mh-btn-save{font-size:.85em}.mh-topbar{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;background:#fff;border-bottom:1px solid #ecf0f1;flex-shrink:0}.mh-topbar-title{font-size:1em;font-weight:700;color:#2c3e50}.mh-topbar-actions{display:flex;gap:8px}.mh-btn-jira{background:#3498db;color:#fff;border:none;padding:8px 18px;border-radius:6px;font-size:.85em;cursor:pointer;transition:background .2s}.mh-btn-jira:hover{background:#2980b9}.mh-btn-jira{font-size:.85em}.mh-sidebar-item--import{margin-top:8px;border-top:1px solid #ecf0f1;padding-top:12px;color:#3498db;font-weight:600;font-size:.85em}.ji-view{padding:24px;overflow-y:auto;display:flex;flex-direction:column;gap:24px;background:#f0f2f5;min-height:100%}.ji-step{background:#fff;border:1px solid #bdc3c7;border-radius:12px;padding:20px 24px;display:flex;flex-direction:column;gap:14px}.ji-step--hidden{display:none}.ji-step-header{display:flex;align-items:center;gap:12px;font-weight:700;font-size:1em;color:#2c3e50}.ji-step-num{width:28px;height:28px;border-radius:50%;background:#2c3e50;color:#fff;display:flex;align-items:center;justify-content:center;font-size:.85em;font-weight:700;flex-shrink:0}.ji-textarea{border:1px solid #bdc3c7;border-radius:8px;padding:10px 14px;font-size:.82em;font-family:Consolas,monospace;resize:vertical;transition:border-color .15s}.ji-textarea:focus{outline:none;border-color:#3498db}.ji-step-actions{display:flex;align-items:center;gap:12px}.ji-btn{border:none;border-radius:8px;padding:9px 20px;font-size:.875em;font-weight:600;cursor:pointer;transition:background .15s}.ji-btn--primary{background:#2c3e50;color:#fff}.ji-btn--primary:hover{background:#34495e}.ji-btn--primary:disabled{opacity:.5;cursor:not-allowed}.ji-btn--secondary{background:#f0f2f5;color:#2c3e50;border:1px solid #bdc3c7}.ji-btn--secondary:hover{border-color:#3498db}.ji-parse-error{font-size:.85em;color:#e74c3c}.ji-hint{font-size:.85em;color:#7f8c8d;line-height:1.5}.ji-stats{font-size:.875em;color:#2c3e50;padding:8px 12px;background:#eaf4fb;border-radius:8px;border:1px solid rgb(181.9539748954,217.9372384937,242.0460251046);margin-bottom:4px}.ji-grid{display:flex;flex-direction:column;gap:6px;max-height:400px;overflow-y:auto;border:1px solid #ecf0f1;border-radius:8px;padding:8px}.ji-grid-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:center;padding:6px 8px;border-radius:6px}.ji-grid-row:hover{background:#f0f2f5}.ji-resource-id{font-size:.78em;font-family:Consolas,monospace;color:#34495e;word-break:break-all}.ji-select{border:1px solid #bdc3c7;border-radius:6px;padding:5px 8px;font-size:.82em;font-family:inherit;background:#fff;transition:border-color .15s}.ji-select:focus{outline:none;border-color:#3498db}.ji-result-msg{font-size:.9em;color:#2c3e50;font-weight:500;line-height:1.6}#chat-widget{position:fixed;bottom:24px;right:24px;z-index:9000;display:flex;flex-direction:column;align-items:flex-end;gap:12px;pointer-events:none}#chat-fab{width:52px;height:52px;border-radius:50%;background:linear-gradient(135deg,#2c3e50,#34495e);color:#fff;border:none;cursor:grab;box-shadow:0 4px 16px #00000040;display:flex;align-items:center;justify-content:center;transition:transform .2s,box-shadow .2s;pointer-events:auto}#chat-fab:hover{transform:scale(1.08);box-shadow:0 6px 20px #0000004d}#chat-fab.chat-fab--open{background:linear-gradient(135deg,#2980b9,#3498db)}#chat-widget.chat-widget--dragging{user-select:none}#chat-widget.chat-widget--dragging #chat-fab{cursor:grabbing;transform:scale(1.05)}#chat-widget.chat-widget--dragging .chat-panel-header{cursor:grabbing}.chat-fab-icon{font-size:1.4em;line-height:1}#chat-panel{width:360px;min-height:460px;max-height:640px;background:#fff;border-radius:14px;box-shadow:0 8px 32px #0000002e;display:flex;flex-direction:column;overflow:hidden;opacity:0;transform:translateY(16px) scale(.97);pointer-events:none;transition:opacity .22s ease,transform .22s ease}#chat-panel.chat-panel--open{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}.chat-panel-header{background:linear-gradient(135deg,#2c3e50,#34495e);color:#fff;padding:12px 14px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0;cursor:grab}.chat-panel-title{font-weight:600;font-size:.95em}.chat-panel-actions{display:flex;gap:4px}.chat-panel-btn{background:none;border:none;color:#fffc;cursor:pointer;padding:4px 6px;border-radius:6px;font-size:1em;line-height:1;transition:background .15s}.chat-panel-btn:hover{background:#ffffff26;color:#fff}#chat-messages{flex:1;overflow-y:auto;padding:14px 12px;display:flex;flex-direction:column;gap:10px;background:#f0f2f5}.chat-msg{display:flex}.chat-msg--user{justify-content:flex-end}.chat-msg--model{justify-content:flex-start}.chat-bubble{max-width:82%;padding:9px 13px;border-radius:14px;font-size:.875em;line-height:1.5;white-space:pre-wrap;word-break:break-word}.chat-msg--user .chat-bubble{background:linear-gradient(135deg,#2c3e50,#34495e);color:#fff;border-bottom-right-radius:4px}.chat-msg--model .chat-bubble{background:#fff;color:#2c3e50;border:1px solid #bdc3c7;border-bottom-left-radius:4px}.chat-dots{display:inline-flex;gap:4px;align-items:center;height:16px}.chat-dots span{width:6px;height:6px;border-radius:50%;background:#95a5a6;animation:chat-dot-bounce 1.2s infinite ease-in-out}.chat-dots span:nth-child(2){animation-delay:.2s}.chat-dots span:nth-child(3){animation-delay:.4s}@keyframes chat-dot-bounce{0%,80%,to{transform:translateY(0)}40%{transform:translateY(-5px)}}.chat-error{font-size:.8em;color:#e74c3c;background:#fefbfb;border:1px solid rgb(247.7671232877,201.0547945205,196.2328767123);border-radius:8px;padding:8px 12px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.chat-error-retry{margin-left:auto;flex-shrink:0;background:#e74c3c;color:#fff;border:none;border-radius:5px;padding:3px 10px;font-size:.85em;cursor:pointer;transition:background .15s;pointer-events:auto}.chat-error-retry:hover{background:#df2e1b}.chat-input-area{display:flex;gap:8px;padding:10px 12px;border-top:1px solid #ecf0f1;background:#fff;flex-shrink:0;align-items:flex-end}#chat-input{flex:1;border:1px solid #bdc3c7;border-radius:10px;padding:8px 12px;font-size:.875em;font-family:inherit;resize:none;line-height:1.4;max-height:120px;overflow-y:auto;transition:border-color .15s}#chat-input:focus{outline:none;border-color:#3498db}.chat-hf-status{padding:4px 12px;font-size:.78em;font-weight:500;text-align:center;border-top:1px solid #bdc3c7}.chat-hf-status--listening{background:#f0fdf4;color:#16a34a;animation:chat-hf-blink 1.4s ease-in-out infinite}.chat-hf-status--processing{background:#fefce8;color:#92400e}@keyframes chat-hf-blink{0%,to{opacity:1}50%{opacity:.55}}.chat-token-bar{padding:2px 12px 4px;font-size:.72em;color:#95a5a6;text-align:right;background:#fff;border-top:1px solid #ecf0f1;pointer-events:auto;flex-shrink:0}#chat-hf-btn{width:32px;height:32px;border-radius:50%;background:transparent;border:1.5px solid #ddd;cursor:pointer;font-size:.95em;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s,border-color .15s}#chat-hf-btn:hover:not(:disabled){background:#f0f0f0;border-color:#bbb}#chat-hf-btn:disabled{opacity:.35;cursor:not-allowed}#chat-hf-btn.chat-hf-btn--active{background:#dcfce7;border-color:#16a34a;animation:chat-mic-pulse 1.4s ease-in-out infinite}#chat-mic-btn{width:32px;height:32px;border-radius:50%;background:transparent;border:1.5px solid #ddd;cursor:pointer;font-size:.95em;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s,border-color .15s}#chat-mic-btn:hover:not(:disabled){background:#f0f0f0;border-color:#bbb}#chat-mic-btn:disabled{opacity:.35;cursor:not-allowed}#chat-mic-btn.chat-mic-btn--active{background:#fee2e2;border-color:#ef4444;animation:chat-mic-pulse 1s ease-in-out infinite}@keyframes chat-mic-pulse{0%,to{box-shadow:0 0 #ef444466}50%{box-shadow:0 0 0 5px #ef444400}}#chat-send-btn{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#2c3e50,#34495e);color:#fff;border:none;cursor:pointer;font-size:1em;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s,transform .1s}#chat-send-btn:hover:not(:disabled){background:#3498db;transform:scale(1.05)}#chat-send-btn:disabled{opacity:.45;cursor:not-allowed}.chat-settings-pane{position:absolute;inset:0;background:#fff;z-index:10;display:flex;flex-direction:column;border-radius:14px;overflow:hidden}.chat-settings-pane[hidden]{display:none}#chat-panel{position:relative}.chat-settings-header{background:linear-gradient(135deg,#2c3e50,#34495e);color:#fff;padding:12px 14px;display:flex;align-items:center;justify-content:space-between;font-weight:600;font-size:.95em;flex-shrink:0}.chat-settings-close{background:none;border:none;color:#fffc;cursor:pointer;font-size:1em;padding:4px 6px;border-radius:6px}.chat-settings-close:hover{background:#ffffff26;color:#fff}.chat-settings-body{flex:1;padding:20px 16px;display:flex;flex-direction:column;gap:10px;overflow-y:auto;min-height:0}.chat-settings-label{font-size:.85em;font-weight:600;color:#2c3e50}.chat-settings-label--spaced{margin-top:12px}.chat-settings-input{border:1px solid #bdc3c7;border-radius:8px;padding:9px 12px;font-size:.875em;font-family:inherit;transition:border-color .15s}.chat-settings-input:focus{outline:none;border-color:#3498db}.chat-settings-select{border:1px solid #bdc3c7;border-radius:8px;padding:9px 12px;font-size:.875em;font-family:inherit;background:#fff;cursor:pointer;transition:border-color .15s}.chat-settings-select:focus{outline:none;border-color:#3498db}.chat-settings-link{font-size:.8em;color:#3498db;text-decoration:none}.chat-settings-link:hover{text-decoration:underline}.chat-settings-save{background:#2c3e50;color:#fff;border:none;padding:8px 18px;border-radius:6px;font-size:.85em;cursor:pointer;transition:background .2s}.chat-settings-save:hover{background:#34495e}.chat-settings-save{align-self:flex-start;padding:8px 20px}.chat-settings-hint{font-size:.78em;color:#7f8c8d;line-height:1.4}.chat-settings-hint--spaced{margin-top:6px}.chat-settings-hint--tight{margin:2px 0 0}.chat-settings-radio-group{display:flex;gap:16px;margin-bottom:4px}.chat-settings-radio{display:flex;align-items:center;gap:6px;cursor:pointer;font-size:.88em}.chat-settings-radio input[type=radio]{cursor:pointer;accent-color:#2c3e50}.chat-settings-section{display:flex;flex-direction:column;gap:6px;border-top:1px solid #bdc3c7;padding-top:12px}.chat-settings-row{display:flex;gap:8px;align-items:center}.chat-settings-row .chat-settings-input{flex:1}.chat-settings-test-btn{flex-shrink:0;padding:8px 12px;font-size:.82em;font-weight:600;border:1px solid #bdc3c7;border-radius:8px;background:#fff;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s}.chat-settings-test-btn:hover:not(:disabled){background:#f0f3f4;border-color:#2c3e50}.chat-settings-test-btn:disabled{opacity:.5;cursor:not-allowed}.chat-settings-lm-status{font-size:.82em;padding:6px 10px;border-radius:6px;background:#ecf0f1;color:#7f8c8d}.chat-settings-lm-status.lm-ok{background:#eafaf1;color:#1e8449}.chat-settings-lm-status.lm-err{background:#fdedec;color:#c0392b}.chat-no-key-hint{position:fixed;bottom:86px;right:24px;z-index:8999;background:#2c3e50;color:#fff;font-size:.8em;padding:8px 14px;border-radius:20px;cursor:pointer;box-shadow:0 2px 10px #0003;animation:chat-nudge-in .3s ease}.chat-no-key-hint:hover{background:#34495e}@keyframes chat-nudge-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.skills-view{display:flex;flex-direction:column;height:100%;padding:0}.skills-lib-top-bar{display:flex;gap:8px;padding:10px 16px 8px;flex-shrink:0;background:#fff;border-bottom:1px solid #ecf0f1;flex-wrap:wrap}.skills-lib-split{display:grid;grid-template-columns:1fr 320px;gap:0;flex:1;min-height:0;overflow:hidden}.skills-lib-list-col{display:flex;flex-direction:column;overflow:hidden;border-right:1px solid #ecf0f1}.skills-lib-tools-col{display:flex;flex-direction:column;overflow-y:auto;background:#fafafa}.skills-lib-search{flex:2;min-width:160px;padding:7px 10px;border:1px solid #bdc3c7;border-radius:6px;font-size:.88em;box-sizing:border-box}.skills-lib-search:focus{outline:none;border-color:#3498db}.skills-lib-list{flex:1;overflow-y:auto;list-style:none;padding:4px 0;margin:0}.skills-lib-item{display:flex;align-items:center;gap:6px;padding:6px 12px;cursor:default;transition:background .15s;font-size:.88em}.skills-lib-item:hover{background:#ecf0f1}.skills-lib-item.dragging{opacity:.5}.skills-lib-item.in-merge-queue{background:#eaf4fb}.skills-lib-item.in-merge-queue .skills-lib-label{font-weight:600;color:#2980b9}.skills-lib-item .skills-lib-drag-handle{color:#95a5a6;cursor:grab;font-size:1.1em;flex-shrink:0}.skills-lib-item .skills-lib-drag-handle:active{cursor:grabbing}.skills-lib-item .skills-lib-label{flex:1;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.skills-lib-item .skills-lib-label:hover{color:#3498db}.skills-lib-item .skills-lib-usage{background:#3498db;color:#fff;border-radius:10px;padding:1px 6px;font-size:.78em;font-weight:600;flex-shrink:0}.skills-lib-item .skills-lib-del-btn{background:none;border:none;color:#95a5a6;cursor:pointer;padding:2px 4px;font-size:.85em;flex-shrink:0;border-radius:3px}.skills-lib-item .skills-lib-del-btn:hover{background:#e74c3c;color:#fff}.skills-lib-empty{padding:12px 16px;color:#95a5a6;font-size:.88em;font-style:italic}.skills-lib-add-form{flex-shrink:0;padding:10px 12px;border-top:1px solid #ecf0f1;background:#fafafa}.skills-lib-add-form .skills-lib-add-title{font-size:.82em;font-weight:600;color:#34495e;margin-bottom:6px}.skills-lib-add-form .skills-lib-add-input{width:100%;padding:5px 8px;border:1px solid #bdc3c7;border-radius:5px;font-size:.83em;margin-bottom:4px;box-sizing:border-box}.skills-lib-add-form .skills-lib-add-input:focus{outline:none;border-color:#3498db}.skills-lib-add-form .skills-lib-add-btn{width:100%;padding:6px;font-size:.85em;margin-top:2px}.skills-merge-zone-wrap{flex-shrink:0;padding:10px 12px;border-top:1px solid #ecf0f1;background:#f7f7f7}.skills-merge-zone-wrap .skills-merge-zone-label{font-size:.82em;font-weight:600;color:#34495e;margin-bottom:6px}.skills-merge-zone{min-height:48px;border:2px dashed #bdc3c7;border-radius:7px;padding:6px 8px;font-size:.8em;color:#95a5a6;display:flex;flex-wrap:wrap;gap:4px;align-items:flex-start;transition:border-color .2s,background .2s}.skills-merge-zone.drag-over{border-color:#e67e22;background:#fdf4ec}.skills-merge-zone .skills-merge-hint{color:#95a5a6;font-style:italic;align-self:center}.skills-merge-tag{display:inline-flex;align-items:center;gap:4px;background:#3498db;color:#fff;border-radius:12px;padding:2px 8px 2px 10px;font-size:.82em}.skills-merge-tag button{background:none;border:none;color:#fffc;cursor:pointer;padding:0 2px;font-size:.9em}.skills-merge-tag button:hover{color:#fff}.skills-merge-actions{display:flex;gap:6px;margin-top:6px}.skills-merge-actions .skills-merge-btn{flex:1;font-size:.83em;padding:5px}.skills-merge-actions .skills-merge-clear-btn{font-size:.83em;padding:5px 10px}.skills-main-panel{flex:1;display:flex;flex-direction:column;overflow:hidden;background:#f0f2f5;min-height:0}.skills-tabs{display:flex;gap:2px;padding:10px 16px 0;background:#2c3e50;flex-shrink:0}.skills-tab-btn{padding:8px 18px;border:none;border-radius:6px 6px 0 0;background:#ffffff1a;color:#ffffffbf;cursor:pointer;font-size:.88em;font-weight:500;transition:background .15s,color .15s}.skills-tab-btn:hover{background:#fff3;color:#fff}.skills-tab-btn.active{background:#f0f2f5;color:#2c3e50;font-weight:700}.skills-tab-content{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.skills-tab-content:has(.skills-cloud),.skills-tab-content:has(.skills-multi-filter-bar){overflow-y:auto;padding:20px}.skills-empty{color:#95a5a6;font-style:italic;padding:20px;text-align:center;font-size:.9em}.skills-cloud{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center;justify-content:center;padding:30px 20px;min-height:200px;background:#fff;border-radius:10px;box-shadow:0 1px 4px #0000000f}.skills-cloud-tag{cursor:pointer;color:#2980b9;font-weight:500;transition:color .15s,transform .15s;user-select:none;white-space:nowrap}.skills-cloud-tag:hover{color:#e67e22;transform:scale(1.08)}.skills-cloud-hint{text-align:center;color:#95a5a6;font-size:.82em;margin-top:12px;font-style:italic}.skills-multi-filter-bar{display:flex;align-items:center;gap:8px;margin-bottom:14px}.skills-multi-filter-bar .skills-multi-filter-input{padding:7px 12px;border:1px solid #bdc3c7;border-radius:6px;font-size:.88em;width:260px}.skills-multi-filter-bar .skills-multi-filter-input:focus{outline:none;border-color:#3498db}.skills-multi-filter-bar .skills-multi-filter-clear{font-size:.83em;padding:6px 12px}.skills-multi-table-wrap{overflow-x:auto;background:#fff;border-radius:10px;box-shadow:0 1px 4px #0000000f}.skills-multi-table{border-collapse:collapse;width:100%;font-size:.85em}.skills-multi-table th,.skills-multi-table td{border:1px solid #ecf0f1;padding:8px 10px;text-align:center;white-space:nowrap}.skills-multi-table th{background:#2c3e50;color:#fff;font-weight:600;position:sticky;top:0;z-index:2}.skills-multi-table td:first-child,.skills-multi-table th:first-child{text-align:left;position:sticky;left:0;background:#2c3e50;color:#fff;z-index:1}.skills-multi-table tbody tr td:first-child{background:#34495e;font-weight:600}.skills-multi-table tbody tr:hover td{background:#f3f9fd}.skills-multi-table tbody tr:hover td:first-child{background:#2c3e50}.skills-multi-th{max-width:100px}.skills-multi-th .skills-multi-th-label{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:90px;font-size:.9em}.skills-multi-name{min-width:130px}.skills-multi-cell{position:relative;min-width:60px}.skills-multi-cell.has-skill{cursor:default}.skills-multi-cell.has-tooltip:hover .skills-tooltip{display:block}.skills-multi-stars{color:#e67e22;font-size:1em;letter-spacing:-1px}.skills-tooltip{display:none;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);background:#2c3e50;color:#fff;padding:8px 12px;border-radius:7px;font-size:.82em;white-space:nowrap;min-width:160px;text-align:left;z-index:100;line-height:1.6;box-shadow:0 4px 14px #00000038;pointer-events:none}.skills-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:5px solid transparent;border-top-color:#2c3e50}.skills-tooltip .skills-tooltip-comment{color:#ffffffbf;font-style:italic}.skills-wall-top-bar{display:flex;align-items:center;gap:10px;padding:10px 16px;background:#fff;border-bottom:1px solid #ecf0f1;flex-shrink:0}.skills-wall-body{flex:1;display:grid;grid-template-columns:320px 1fr;gap:0;overflow:hidden;min-height:0}.skills-wall-browser-col{display:flex;flex-direction:column;overflow:hidden;border-right:1px solid #bdc3c7;background:#fff}.skills-wall-assigned-col{display:flex;flex-direction:column;overflow-y:auto;background:#f0f2f5;padding:0}.skills-wall-assigned-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#2c3e50;color:#fff;font-size:.9em;flex-shrink:0}.skills-wall-assigned-header strong{color:#fff}.skills-wall-assigned-count{font-size:.82em;opacity:.75}.skills-wall-cat-group{margin:0;border-bottom:1px solid #ecf0f1}.skills-wall-cat-header{display:flex;align-items:center;gap:8px;padding:8px 14px;background:#d2dce6;cursor:pointer;user-select:none;font-size:.85em;transition:background .15s}.skills-wall-cat-header:hover{background:#e1f0fa}.skills-wall-cat-label{flex:1;font-weight:700;color:#2c3e50;letter-spacing:.02em}.skills-wall-cat-body{padding:6px 12px 10px}.skills-wall-cat-body.collapsed{display:none}.skills-wall-pending-badge{display:inline-block;background:#e67e22;color:#fff;font-size:.75em;font-weight:600;border-radius:8px;padding:1px 6px;margin-left:6px}.skills-tree-header{display:flex;justify-content:space-between;align-items:center;padding:10px 14px 8px;background:#2c3e50;color:#fff;flex-shrink:0}.skills-tree-header-title{font-weight:700;font-size:.9em}.skills-tree-header-hint{font-size:.74em;opacity:.7;font-style:italic}.skills-tree-filter-row{display:flex;gap:6px;padding:8px 10px 6px;flex-shrink:0;flex-wrap:wrap;border-bottom:1px solid #ecf0f1;background:#f7f9fb}.skills-tree-search{flex:1;min-width:100px;padding:5px 8px;border:1px solid #bdc3c7;border-radius:5px;font-size:.82em}.skills-tree-search:focus{outline:none;border-color:#3498db}.skills-tree{flex:1;overflow-y:auto;padding:4px 0}.skills-tree-node{border-bottom:1px solid #ecf0f1}.skills-tree-node-header{display:flex;align-items:center;gap:7px;padding:7px 12px;cursor:pointer;user-select:none;background:#f3f9fd;font-size:.85em;transition:background .15s}.skills-tree-node-header:hover{background:#d9ecf8}.skills-tree-node-header.techno{background:#f1e6f5;padding-left:24px;font-size:.82em}.skills-tree-node-header.techno:hover{background:#e4d0ed}.skills-tree-toggle{font-size:.7em;color:#95a5a6;width:12px;flex-shrink:0}.skills-tree-node-label{flex:1;font-weight:600;color:#2c3e50;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.skills-tree-node-count{font-size:.78em;color:#95a5a6;white-space:nowrap}.skills-tree-assigned-badge{display:inline-block;background:#27ae60;color:#fff;font-size:.8em;font-weight:600;border-radius:8px;padding:1px 5px;margin-left:5px}.skills-tree-node-body.collapsed{display:none}.skills-tree-techno-node .skills-tree-node-body{padding-left:12px}.skills-tree-leaf{display:flex;align-items:center;gap:6px;padding:5px 12px 5px 24px;font-size:.85em;cursor:pointer;transition:background .12s}.skills-tree-leaf:hover:not(.assigned){background:#bbf0d2}.skills-tree-leaf.assigned{opacity:.55;cursor:default;font-style:italic}.skills-tree-leaf-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.skills-tree-leaf-chip{font-size:.68em!important;flex-shrink:0}.skills-tree-assigned-mark{color:#27ae60;font-weight:700;font-size:.85em;flex-shrink:0}.skills-empty-tree{padding:20px;color:#95a5a6;font-size:.88em;font-style:italic}.skills-wall-selector-wrap{display:flex;align-items:center;gap:10px;margin-bottom:10px}.skills-wall-selector-wrap .skills-wall-selector-label{font-weight:600;font-size:.9em;color:#2c3e50}.skills-wall-selector-wrap .skills-wall-selector{padding:7px 12px;border:1px solid #bdc3c7;border-radius:6px;font-size:.88em;min-width:220px}.skills-wall-selector-wrap .skills-wall-selector:focus{outline:none;border-color:#3498db}.skills-wall-drop-hint{font-size:.82em;color:#95a5a6;font-style:italic;margin-bottom:14px;padding:7px 12px;background:#fff;border:1px dashed #bdc3c7;border-radius:6px}.skills-wall-content{min-height:80px;border-radius:8px;transition:background .2s}.skills-wall-content.drag-over{background:#fdf4ec;outline:2px dashed #e67e22}.skills-wall-section{margin-bottom:24px}.skills-wall-section .skills-wall-section-title{font-size:.85em;font-weight:700;color:#34495e;text-transform:uppercase;letter-spacing:.05em;margin:0 0 10px}.skills-wall-card{display:grid;grid-template-columns:180px auto auto 1fr auto;align-items:center;gap:10px;padding:10px 14px;background:#fff;border-radius:8px;border:1px solid #ecf0f1;margin-bottom:6px;transition:border-color .15s,box-shadow .15s}.skills-wall-card:hover{border-color:#3498db;box-shadow:0 2px 8px #00000012}.skills-wall-card.pending{border-left:4px solid #e67e22;background:#fef9f5}.skills-wall-card .skills-wall-card-label{font-weight:600;font-size:.9em;color:#2c3e50;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.skills-wall-card .skills-wall-stars{display:flex;gap:2px}.skills-wall-card .skills-wall-stars-label{font-size:.78em;color:#95a5a6;white-space:nowrap}.skills-wall-card .skills-wall-comment{padding:5px 8px;border:1px solid #bdc3c7;border-radius:5px;font-size:.82em;min-width:0}.skills-wall-card .skills-wall-comment:focus{outline:none;border-color:#3498db}.skills-wall-card .skills-wall-card-actions{display:flex;gap:6px;flex-shrink:0}.skills-wall-card .skills-wall-validate-btn{font-size:.82em;padding:4px 10px}.skills-wall-card .skills-wall-remove-btn{font-size:.82em;padding:4px 8px;color:#95a5a6}.skills-star-btn{background:none;border:none;color:#bdc3c7;cursor:pointer;font-size:1.3em;padding:0 1px;line-height:1;transition:color .15s,transform .1s}.skills-star-btn.active{color:#e67e22}.skills-star-btn:hover{color:#e67e22;transform:scale(1.2)}.skills-import-section{flex-shrink:0;border-top:1px solid #ecf0f1}.skills-import-toggle{width:100%;background:#f0f4f8;border:none;border-bottom:1px solid #ecf0f1;padding:8px 12px;text-align:left;font-size:.82em;font-weight:600;color:#34495e;cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:background .15s}.skills-import-toggle:hover{background:#e1f0fa;color:#2980b9}.skills-import-toggle .skills-import-chevron{font-size:.75em;color:#95a5a6}.skills-import-body{padding:10px 12px;background:#fafafa;display:flex;flex-direction:column;gap:7px}.skills-import-body.hidden{display:none}.skills-import-seed-btn{font-size:.82em;padding:7px 10px;width:100%;text-align:left;white-space:normal;line-height:1.4}.skills-import-divider{font-size:.76em;color:#95a5a6;text-align:center;position:relative}.skills-import-divider:before,.skills-import-divider:after{content:"";position:absolute;top:50%;width:20%;height:1px;background:#bdc3c7}.skills-import-divider:before{left:0}.skills-import-divider:after{right:0}.skills-import-textarea{width:100%;padding:7px 8px;border:1px solid #bdc3c7;border-radius:5px;font-size:.82em;font-family:monospace;resize:vertical;box-sizing:border-box}.skills-import-textarea:focus{outline:none;border-color:#3498db}.skills-import-parse-btn,.skills-import-do-btn{font-size:.82em;padding:5px 10px;align-self:flex-start}.skills-import-do-btn.hidden{display:none}.skills-import-preview{font-size:.8em}.skills-import-summary{font-weight:600;color:#34495e;margin-bottom:6px}.skills-import-chips{display:flex;flex-wrap:wrap;gap:4px;max-height:100px;overflow-y:auto}.skills-import-chip{background:#a2eac1;color:#219a52;border-radius:10px;padding:2px 8px;font-size:.82em;white-space:nowrap}.skills-import-chip.duplicate{background:#ecf0f1;color:#95a5a6;text-decoration:line-through}.skills-import-btn-row{display:flex;gap:6px;flex-wrap:wrap}.skills-import-file-input{display:none}.skills-import-file-btn{font-size:.82em;padding:7px 10px}.skills-import-fmt-hint{font-size:.76em;color:#95a5a6;line-height:1.5}.skills-import-fmt-hint code{background:#ecf0f1;border-radius:3px;padding:0 3px;font-size:.95em}.skills-import-action-row{display:flex;gap:8px;align-items:center}.skills-import-error{color:#e74c3c;font-size:.82em;font-weight:600}.skills-lib-chips{display:flex;gap:3px;flex-wrap:wrap;flex:1;min-width:0}.skills-chip{font-size:.68em;padding:1px 6px;border-radius:8px;white-space:nowrap;font-weight:600}.skills-chip.cat{background:#d9ecf8;color:#2980b9}.skills-chip.tech{background:#e0c9ea;color:#7d3c98}.skills-lib-filter-sel{font-size:.8em;padding:5px 7px;border:1px solid #bdc3c7;border-radius:5px;background:#fff;color:#2c3e50;cursor:pointer;flex:1;min-width:100px}.skills-lib-filter-sel:focus{outline:none;border-color:#3498db}.skills-lib-edit-btn{background:none;border:none;padding:2px 4px;border-radius:4px;cursor:pointer;font-size:.85em;opacity:.4;flex-shrink:0;transition:opacity .15s,background .15s}.skills-lib-edit-btn:hover{opacity:1;background:#eaf4fb}.skills-lib-edit-row{display:flex;flex-wrap:wrap;gap:6px;padding:8px 12px;background:#f3f9fd;border-left:3px solid #3498db;border-radius:0 0 6px 6px;margin-bottom:2px}.skills-lib-edit-input{flex:1;min-width:120px;padding:5px 8px;border:1px solid #bdc3c7;border-radius:5px;font-size:.82em}.skills-lib-edit-input:focus{outline:none;border-color:#3498db}.skills-lib-edit-save{font-size:.82em;padding:5px 12px;flex-shrink:0}.skills-lib-edit-cancel{font-size:.82em;padding:5px 8px;flex-shrink:0;color:#95a5a6}.skills-ctmgr-section{margin-bottom:12px}.skills-ctmgr-title{font-size:.78em;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#34495e;margin:0 0 8px;padding-bottom:4px;border-bottom:1px solid #ecf0f1}.skills-ctmgr-empty{font-size:.8em;color:#95a5a6;font-style:italic}.skills-ctmgr-table{width:100%;border-collapse:collapse;font-size:.82em}.skills-ctmgr-table td{padding:4px 6px;vertical-align:middle}.skills-ctmgr-table tr:hover td{background:#fbfdfe}.skills-ctmgr-count{color:#95a5a6;font-size:.85em;text-align:center;width:32px}.skills-ctmgr-actions{white-space:nowrap;text-align:right}.skills-ctmgr-btn{font-size:.78em;padding:3px 8px;margin-left:4px;border-radius:4px;border:1px solid #bdc3c7;background:#fff;cursor:pointer;color:#34495e;transition:background .15s,border-color .15s}.skills-ctmgr-btn:hover{background:#eaf4fb;border-color:#3498db;color:#2980b9}.skills-lib-layout{display:flex;flex:1;min-height:0;overflow:hidden}.skills-lib-main-col{flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden}.skills-lib-search-wrap{padding:12px 16px;border-bottom:1px solid #ecf0f1;background:linear-gradient(to right,#fff,#fff 60%);flex-shrink:0}.skills-lib-search{width:100%;box-sizing:border-box;padding:8px 14px;border:1px solid #bdc3c7;border-radius:20px;font-size:.92em;background:#fff;box-shadow:inset 0 1px 3px #0000000f;transition:border-color .18s,box-shadow .18s}.skills-lib-search:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 3px #c7e3f5}.skills-lib-search:disabled{opacity:.45;cursor:not-allowed}.skills-lib-sidebar{width:252px;flex-shrink:0;border-left:2px solid #ecf0f1;background:#f6f7f9;display:flex;flex-direction:column;overflow-y:auto}.skills-lib-sidebar-section{padding:14px 16px;border-bottom:1px solid #ecf0f1}.skills-lib-sidebar-section.merge-active{background:#fdf4ec;border-bottom-color:#f5c9a2}.skills-lib-sidebar-section.rename-active{background:#eddff2;border-bottom-color:#cba4db}.skills-lib-sidebar-section.move-active{background:#ccf4dd;border-bottom-color:#81e3aa}.skills-lib-sidebar-title{font-size:.7em;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:#95a5a6;margin:0 0 10px}.skills-lib-mode-btns{display:flex;flex-direction:column;gap:6px}.skills-lib-mode-btn{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:8px 14px;border-radius:8px;font-size:.88em;font-weight:600;cursor:pointer;border:2px solid #bdc3c7;background:#fff;color:#34495e;transition:all .16s}.skills-lib-mode-btn:hover{background:#ecf0f1;border-color:#95a5a6}.skills-lib-mode-btn.active.merge{background:#e67e22;color:#fff;border-color:#cf6d17;box-shadow:0 2px 6px #e67e2259}.skills-lib-mode-btn.active.rename{background:#8e44ad;color:#fff;border-color:#7d3c98;box-shadow:0 2px 6px #8e44ad59}.skills-lib-mode-btn.active.move{background:#27ae60;color:#fff;border-color:#219a52;box-shadow:0 2px 6px #27ae6059}.skills-lib-sidebar-full-btn{display:block;width:100%;margin-top:8px;box-sizing:border-box;text-align:center}.skills-lib-merge-chip{display:flex;align-items:center;gap:6px;padding:7px 10px;border-radius:6px;background:#fff;border:1px solid #bdc3c7;margin-bottom:5px;font-size:.88em}.skills-lib-merge-chip.keeper{background:#fae4d0;border-color:#efae74;font-weight:600}.skills-lib-merge-chip .merge-chip-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.skills-lib-merge-chip .merge-chip-star{color:#cf6d17;flex-shrink:0}.skills-lib-merge-chip .merge-chip-rm{background:none;border:none;cursor:pointer;color:#95a5a6;font-size:1.1em;padding:0 2px;line-height:1;flex-shrink:0;border-radius:3px}.skills-lib-merge-chip .merge-chip-rm:hover{background:#00000012;color:#e74c3c}.skills-lib-merge-hint{font-size:.84em;color:#cf6d17;font-style:italic;line-height:1.45;margin:0}.skills-lib-merge-hint.rename{color:#7d3c98}.skills-lib-merge-hint.move{color:#145b32}.skills-lib-move-item-chip{padding:7px 10px;border-radius:6px;background:#b3eecc;border:1px solid rgb(95.7042253521,219.2957746479,147.8873239437);font-weight:600;font-size:.9em;margin-bottom:8px;color:#219a52;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.skills-lib-move-dest-chip{padding:7px 10px;border-radius:6px;background:#e1f0fa;border:1px solid rgb(138.6359832636,195.9581589958,234.3640167364);font-weight:600;font-size:.88em;margin-bottom:8px;color:#2980b9;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.skills-lib-sidebar-action-btn.move-mass-btn{border-style:solid;border-color:#4fd889;color:#219a52;background:#c4f2d7;font-size:.84em;margin-top:6px}.skills-lib-sidebar-action-btn.move-mass-btn:hover{border-color:#219a52;background:#abecc6}.move-dest-selectable{cursor:crosshair!important}.move-dest-active{background:#abecc6!important}.skills-lib-cat-node.move-dest-selected,.skills-lib-subcat-node.move-dest-selected{border-left-color:#27ae60!important;box-shadow:0 0 0 2px #27ae60}.move-item-pick{cursor:grab}.move-item-pick:hover{background:#c4f2d7!important}.move-item-pending{border-left-color:#27ae60!important;background:#c4f2d7!important;box-shadow:0 0 0 2px #27ae60;cursor:grabbing}.move-mass-selectable{cursor:pointer}.move-mass-selectable:hover{background:#c4f2d7!important}.move-mass-selected{border-left-color:#27ae60!important;background:#bbf0d2!important;box-shadow:0 0 0 2px #27ae60}.move-mass-selected:before{content:"✓ ";color:#219a52;font-weight:700}.skills-lib-sidebar-action-btn{display:flex;align-items:center;gap:6px;width:100%;text-align:left;padding:9px 12px;border:1.5px dashed #bdc3c7;border-radius:7px;background:#fff;color:#34495e;font-size:.9em;cursor:pointer;margin-bottom:6px;box-sizing:border-box;transition:all .15s}.skills-lib-sidebar-action-btn:hover{border-style:solid;border-color:#3498db;color:#3498db;background:#fbfdfe}.skills-lib-sidebar-form-area{margin-top:8px}.skills-lib-sidebar-form-label{font-size:.78em;color:#95a5a6;font-style:italic;margin-bottom:5px}.skills-lib-add-form-wrap{border:1px solid rgb(173.290376569,213.5414225941,240.509623431);border-radius:6px;padding:8px;background:#fff}.skills-lib-tree-container{flex:1;min-height:0;overflow-y:auto;padding:14px 12px}.skills-lib-tree{display:flex;flex-direction:column;gap:8px}.skills-lib-cat-node{border:1px solid rgb(155.9631799163,204.749790795,237.4368200837);border-left:4px solid #3498db;border-radius:0 10px 10px 0;background:#fff;box-shadow:0 1px 4px #3498db1a;overflow:visible}.skills-lib-cat-node.merge-selectable .skills-lib-cat-header{cursor:pointer}.skills-lib-cat-node.merge-selected{border-left-color:#e67e22;box-shadow:0 0 0 2px #e67e22}.skills-lib-cat-node.merge-keeper{border-left-color:#27ae60;box-shadow:0 0 0 2px #27ae60}.skills-lib-cat-header{display:flex;align-items:center;gap:8px;padding:10px 12px 10px 14px;background:linear-gradient(to right,#e1f0fa,#fbfdfe 80%);cursor:pointer;user-select:none;border-radius:0 9px 0 0;transition:background .15s}.skills-lib-cat-header:hover{background:linear-gradient(to right,#c7e3f5,#eaf4fb 80%)}.skills-lib-cat-body{padding:8px 10px 10px 20px;display:flex;flex-direction:column;gap:4px;border-left:2px solid rgb(207.9447698745,231.1246861925,246.6552301255);margin-left:14px}.skills-lib-cat-body.collapsed{display:none}.skills-lib-subcat-node{border:1px solid rgb(203.1585062241,164.4082987552,219.3917012448);border-left:3px solid #8e44ad;border-radius:0 8px 8px 0;background:#fdfcff;overflow:visible}.skills-lib-subcat-node.merge-selectable .skills-lib-subcat-header{cursor:pointer}.skills-lib-subcat-node.merge-selected{border-left-color:#e67e22;box-shadow:0 0 0 2px #e67e22}.skills-lib-subcat-node.merge-keeper{border-left-color:#27ae60;box-shadow:0 0 0 2px #27ae60}.skills-lib-subcat-header{display:flex;align-items:center;gap:8px;padding:7px 10px 7px 12px;background:linear-gradient(to right,#eddff2,#f9f5fb 80%);cursor:pointer;user-select:none;border-radius:0 7px 0 0;transition:background .15s}.skills-lib-subcat-header:hover{background:linear-gradient(to right,#dcc2e7,#f1e6f5 80%)}.skills-lib-subcat-body{padding:5px 8px 7px 16px;display:flex;flex-direction:column;gap:3px;border-left:2px solid rgb(215.7286307054,186.3742738589,228.0257261411);margin-left:12px}.skills-lib-subcat-body.collapsed{display:none}.skills-lib-node-label{flex:1;font-size:.94em;font-weight:700;color:#2c3e50;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:.01em}.skills-lib-node-label.renameable{cursor:text;border-bottom:1px dotted transparent;transition:border-color .12s,color .12s}.skills-lib-node-label.renameable:hover{color:#2980b9;border-bottom-color:#3498db}.skills-lib-subcat-header .skills-lib-node-label{font-size:.88em;font-weight:600;color:#763890}.skills-lib-node-count{font-size:.72em;font-weight:700;color:#2980b9;background:#d9ecf8;border-radius:12px;padding:2px 9px;flex-shrink:0;letter-spacing:.02em}.skills-lib-subcat-header .skills-lib-node-count{color:#7d3c98;background:#e4d0ed}.skills-lib-node-actions{display:flex;align-items:center;gap:3px;flex-shrink:0}.skills-lib-action-btn{background:#ffffffb3;border:1px solid rgba(0,0,0,.1);font-size:.8em;cursor:pointer;padding:3px 8px;border-radius:12px;color:#34495e;font-weight:600;transition:all .14s;white-space:nowrap}.skills-lib-action-btn:hover{background:#fff;border-color:#3498db;color:#2980b9;box-shadow:0 1px 3px #3498db33}.skills-lib-action-btn.danger{color:#e74c3c}.skills-lib-action-btn.danger:hover{background:#fff;border-color:#e74c3c;box-shadow:0 1px 3px #e74c3c33}.skills-tree-toggle{font-size:.72em;color:#2980b9;flex-shrink:0;transition:transform .18s;user-select:none;width:14px;text-align:center}.skills-lib-subcat-header .skills-tree-toggle{color:#7d3c98}.skills-lib-rename-input{font-size:.94em;font-weight:700;border:none;border-bottom:2px solid #3498db;border-radius:0;padding:1px 4px;color:#2c3e50;background:#ffffffe6;width:100%;min-width:120px;box-sizing:border-box}.skills-lib-rename-input:focus{outline:none;background:#fff}.skills-lib-skill-leaf{display:flex;align-items:center;gap:8px;padding:6px 10px 6px 12px;border-radius:6px;background:#fff;border:1px solid rgb(221.3181818182,228.4090909091,230.1818181818);border-left:3px solid rgb(181.9539748954,217.9372384937,242.0460251046);font-size:.9em;transition:all .12s}.skills-lib-skill-leaf:hover{background:#fff;border-left-color:#3498db;box-shadow:0 1px 4px #3498db1f}.skills-lib-skill-leaf.merge-selectable{cursor:pointer}.skills-lib-skill-leaf.merge-selected{border-left-color:#e67e22;background:#fef9f5;box-shadow:0 0 0 1px #e67e22}.skills-lib-skill-leaf.merge-keeper{border-left-color:#27ae60;background:#d4f5e2;box-shadow:0 0 0 1px #27ae60}.skills-lib-skill-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#2c3e50;font-weight:500}.skills-lib-skill-label.renameable{cursor:text;border-bottom:1px dotted transparent;transition:border-color .12s,color .12s}.skills-lib-skill-label.renameable:hover{color:#2980b9;border-bottom-color:#3498db}.skills-lib-techno-chip{font-size:.74em;font-weight:600;padding:2px 8px;border-radius:12px;background:#e8d8f0;color:#7d3c98;border:1px solid rgb(194.7784232365,149.7643153527,213.6356846473);white-space:nowrap;flex-shrink:0;letter-spacing:.02em}.skills-lib-usage-badge{font-size:.72em;font-weight:700;padding:2px 7px;border-radius:12px;background:#c4f2d7;color:#219a52;border:1px solid rgb(112.3690140845,223.0309859155,159.0929577465);white-space:nowrap;flex-shrink:0}.skills-lib-inline-add{display:flex;align-items:center;gap:8px;padding:7px 10px;background:#fbfdfe;border:1px dashed rgb(129.9723849372,191.5623430962,232.8276150628);border-radius:8px;animation:fadeIn .15s ease}.skills-lib-inline-skill-add{display:flex;align-items:center;gap:8px;padding:7px 10px;background:#d4f5e2;border:1px dashed rgb(87.3718309859,217.4281690141,142.2845070423);border-radius:8px;animation:fadeIn .15s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.skills-lib-add-input{padding:5px 10px;border:1px solid #bdc3c7;border-radius:6px;font-size:.88em;color:#2c3e50;min-width:0;flex:1;background:#fff;transition:border-color .15s,box-shadow .15s}.skills-lib-add-input:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 2px #c7e3f5}.skills-lib-add-input.small{flex:0 0 100px}.skills-lib-add-title{font-size:.88em;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#2980b9;margin:0 0 10px}.skills-lib-add-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;margin-bottom:10px}.skills-lib-add-grid input{padding:6px 10px;border:1px solid #bdc3c7;border-radius:6px;font-size:.88em;color:#2c3e50;background:#fff;transition:border-color .15s}.skills-lib-add-grid input:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 2px #c7e3f5}.skills-lib-add-act-row{display:flex;gap:8px;align-items:center;justify-content:flex-end}.skills-lib-add-cat-btn{display:inline-flex;align-items:center;gap:6px;font-size:.88em;font-weight:600;padding:7px 14px;border-radius:20px;border:2px solid #bdc3c7;background:#fff;cursor:pointer;color:#34495e;transition:all .15s}.skills-lib-add-cat-btn:hover{background:#f3f9fd;border-color:#3498db;color:#2980b9}.skills-lib-merge-panel{padding:12px 16px;border-bottom:2px solid rgb(243.4756097561,195.5341463415,153.1243902439);background:linear-gradient(to right,#fdf4ec,#fffefe 80%);flex-shrink:0}.skills-lib-merge-queue-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-height:32px;margin-bottom:8px}.skills-lib-merge-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px 4px 12px;border-radius:16px;background:#fff;border:2px solid #bdc3c7;font-size:.84em;font-weight:500;color:#2c3e50;box-shadow:0 1px 3px #00000014;transition:box-shadow .12s}.skills-lib-merge-chip.keeper{background:#c4f2d7;border-color:#27ae60;color:#219a52;font-weight:700;box-shadow:0 1px 4px #27ae6040}.merge-chip-star{font-size:1em;color:#219a52}.merge-chip-rm{background:none;border:none;cursor:pointer;color:#95a5a6;padding:0 0 0 2px;font-size:1em;line-height:1;transition:color .12s}.merge-chip-rm:hover{color:#e74c3c}.skills-lib-merge-hint{font-size:.84em;color:#cf6d17;font-style:italic;margin-bottom:4px}.skills-lib-merge-act-row{display:flex;gap:8px;align-items:center;justify-content:flex-end;margin-top:4px}.skills-lib-preview-title{font-size:.88em;font-weight:700;color:#2c3e50;margin:0 0 8px}.skills-lib-preview-list{margin:0 0 10px;padding-left:20px;font-size:.86em;color:#34495e;line-height:1.6}.skills-lib-preview-list li+li{margin-top:2px}.merge-selectable{transition:box-shadow .12s}.merge-selected{box-shadow:0 0 0 2px #e67e22!important}.merge-keeper{box-shadow:0 0 0 2px #27ae60!important}.merge-keeper-star{font-size:.88em;color:#219a52;margin-right:2px}.skills-wall-subcat-group{margin:4px 0 2px}.skills-wall-subcat-header{font-size:.78em;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#7f8c8d;padding:3px 8px;border-left:3px solid rgb(155.9631799163,204.749790795,237.4368200837);margin-bottom:3px;background:#fbfdfe;border-radius:0 4px 4px 0}.skills-wall-cat-label.sub{font-size:.8em;color:#7f8c8d;font-style:italic;padding-left:4px}.skills-lib-sidebar-section.item-preview{background:#fbfdfe;border-bottom-color:#b6daf2}.skills-lib-preview-title-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.skills-lib-preview-deselect{background:none;border:none;cursor:pointer;color:#95a5a6;font-size:1em;padding:2px 6px;border-radius:4px;line-height:1}.skills-lib-preview-deselect:hover{background:#0000000f;color:#2c3e50}.skills-lib-preview-name{font-size:1em;font-weight:700;color:#2c3e50;line-height:1.3;margin-bottom:4px}.skills-lib-preview-detail{font-size:.82em;color:#7f8c8d;line-height:1.4;margin:0 0 6px;font-style:italic}.skills-lib-techno-picker-grid{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}.skills-lib-techno-btn{padding:4px 9px;border:1.5px solid #bdc3c7;border-radius:14px;background:#fff;color:#34495e;font-size:.78em;cursor:pointer;transition:all .12s}.skills-lib-techno-btn:hover{border-color:#3498db;color:#3498db;background:#f3f9fd}.skills-lib-techno-btn.active{background:#3498db;color:#fff;border-color:#2980b9;font-weight:600}.skills-lib-techno-select{width:100%;padding:7px 10px;border:1px solid #bdc3c7;border-radius:6px;font-size:.88em;background:#fff;color:#2c3e50;margin-top:6px;box-sizing:border-box}.skills-lib-techno-select:focus{outline:none;border-color:#3498db}.skills-lib-techno-chip.preview-techno{display:inline-block;margin-top:4px;margin-bottom:6px;font-size:.84em;font-weight:600}.skills-lib-skill-leaf.skill-selected{background:#f3f9fd!important;border-left-color:#3498db!important;box-shadow:0 0 0 2px #8bc4ea}.skill-modal-overlay{position:fixed;inset:0;background:#00000080;z-index:9000;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(2px)}.skill-modal{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;width:700px;max-width:96vw;max-height:92vh;display:flex;flex-direction:column;overflow:hidden}.skill-modal-header{position:relative;display:flex;flex-direction:column;flex-shrink:0;border-bottom:2px solid #ecf0f1}.skill-modal-close{position:absolute;top:8px;right:10px;background:none;border:none;font-size:1.1em;cursor:pointer;color:#95a5a6;padding:4px 8px;border-radius:4px;z-index:1}.skill-modal-close:hover{background:#ecf0f1;color:#2c3e50}.skill-modal-crumb-row{display:flex;align-items:center;padding:8px 44px 8px 16px;border-bottom:1px solid #ecf0f1}.skill-modal-crumb-row:last-child{border-bottom:none}.skill-modal-crumb-row.cat{background:#f3f9fd}.skill-modal-crumb-row.sub{background:#eddff2}.skill-modal-crumb-row.skill{background:#fff}.skill-modal-crumb-btn{background:none;border:none;cursor:pointer;font-size:1.1em;color:inherit;opacity:.5;padding:0 8px;line-height:1;flex-shrink:0}.skill-modal-crumb-btn:disabled{opacity:.2;cursor:not-allowed}.skill-modal-crumb-btn:not(:disabled):hover{opacity:1}.skill-modal-crumb-label{flex:1;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:600}.cat>.skill-modal-crumb-label{font-size:.78em;color:#2980b9;text-transform:uppercase;letter-spacing:.06em}.sub>.skill-modal-crumb-label{font-size:.85em;color:#7d3c98}.skill>.skill-modal-crumb-label{font-size:1em;color:#2c3e50}.skill-modal-body{flex:1;overflow-y:auto;padding:18px 20px;display:flex;flex-direction:column;gap:13px}.skill-modal-field{display:flex;flex-direction:column;gap:5px}.skill-modal-label{font-size:.74em;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#34495e}.skill-modal-input{padding:8px 12px;border:1px solid #bdc3c7;border-radius:6px;font-size:.93em;color:#2c3e50;background:#fafafa;font-family:inherit;transition:border-color .15s,box-shadow .15s}.skill-modal-input:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 3px #c7e3f5;background:#fff}textarea.skill-modal-input{resize:vertical;min-height:68px;line-height:1.4}.skill-modal-footer{display:flex;align-items:center;gap:8px;padding:12px 20px;border-top:1px solid #ecf0f1;background:#f0f2f5;flex-shrink:0}.skill-modal-ai-btn{display:inline-flex;align-items:center;gap:5px;padding:7px 14px;border-radius:6px;border:1px solid rgb(186.398340249,135.1203319502,207.8796680498);background:#eddff2;color:#7d3c98;font-size:.88em;font-weight:600;cursor:pointer;transition:all .15s}.skill-modal-ai-btn:disabled{opacity:.45;cursor:not-allowed}.skill-modal-ai-btn:not(:disabled):hover{background:#dcc2e7}.review-modal{width:600px}.review-modal-header{position:relative;display:flex;flex-direction:column;padding:14px 48px 12px 20px;border-bottom:2px solid #ecf0f1;flex-shrink:0;gap:3px}.review-modal-title{font-size:1em;font-weight:700;color:#2c3e50}.review-modal-counter{font-size:.82em;font-weight:600;color:#2980b9}.review-modal-counter.done{color:#219a52}.review-modal-body{flex:1;overflow-y:auto;display:flex;flex-direction:column;min-height:0}.review-modal-footer{display:flex;align-items:center;gap:8px;padding:12px 20px;border-top:1px solid #ecf0f1;background:#f0f2f5;flex-shrink:0}.review-overview-title{padding:14px 20px 6px;font-size:.88em;font-weight:600;color:#34495e}.review-overview-list{list-style:none;margin:0;padding:0 20px 14px;display:flex;flex-direction:column;gap:2px}.review-overview-item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:5px 10px;font-size:.9em;border-radius:4px}.review-overview-item:nth-child(odd){background:#ecf0f1}.review-techno-badge{font-size:.75em;font-weight:600;padding:1px 7px;border-radius:10px;background:#fae4d0;color:#cf6d17;white-space:nowrap;flex-shrink:0}.review-skill-pos{font-size:.75em;font-weight:600;color:#95a5a6;padding-right:8px;white-space:nowrap;flex-shrink:0}.review-stars-section{padding:16px 20px 8px;display:flex;flex-direction:column;gap:10px}.review-stars-header{display:flex;align-items:center;gap:10px}.review-stars-title{font-size:.74em;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#34495e}.review-stars-desc{font-size:.9em;font-weight:600;color:#2980b9}.review-stars-wrap{display:flex;align-items:center;gap:2px}.review-stars-wrap .skills-star-btn{font-size:1.7em;padding:2px 3px}.review-skill-detail{font-size:.85em;color:#7f8c8d;font-style:italic;background:#ecf0f1;border-radius:6px;padding:8px 12px;line-height:1.4}.review-comment-wrap{padding:4px 20px 16px;display:flex;flex-direction:column;gap:5px}.review-nc-btn{padding:7px 14px;border-radius:6px;border:1px solid rgb(242.1780821918,159.3698630137,150.8219178082);background:#fff;color:#e74c3c;font-size:.88em;font-weight:600;cursor:pointer;font-family:inherit;transition:all .15s}.review-nc-btn:hover{background:#fceae9}.review-pass-btn{padding:7px 14px;border-radius:6px;border:1px solid #bdc3c7;background:#fff;color:#7f8c8d;font-size:.88em;font-weight:500;cursor:pointer;font-family:inherit;transition:all .15s;margin-left:auto}.review-pass-btn:hover{background:#ecf0f1;color:#2c3e50}.review-done-wrap{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 32px;text-align:center;flex:1}.review-done-icon{width:56px;height:56px;border-radius:50%;background:#27ae60;color:#fff;font-size:1.8em;font-weight:700;display:flex;align-items:center;justify-content:center;margin-bottom:16px}.review-done-msg{font-size:1.3em;font-weight:700;color:#2c3e50;margin-bottom:8px}.review-done-sub{font-size:.9em;color:#7f8c8d;line-height:1.5}.skills-wall-review-btn{padding:7px 16px;border-radius:8px;border:1px solid rgb(95.7042253521,219.2957746479,147.8873239437);background:#c4f2d7;color:#219a52;font-size:.88em;font-weight:600;cursor:pointer;font-family:inherit;transition:all .15s;margin-left:auto}.skills-wall-review-btn:hover{background:#abecc6}.backup-settings-view{padding:28px 32px;max-width:780px;margin:0 auto;width:100%}.backup-settings-inner{display:flex;flex-direction:column;gap:28px}.backup-section{background:#fff;border:1px solid #ecf0f1;border-radius:10px;padding:20px 24px}.backup-section-title{font-size:1.05em;font-weight:700;color:#2c3e50;margin:0 0 14px}.profile-fields-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:14px}.profile-field-wrap{display:flex;flex-direction:column;gap:4px}.profile-field-label{font-size:.82em;font-weight:600;color:#7f8c8d}.profile-field-input{padding:7px 10px;border:1px solid #bdc3c7;border-radius:6px;font-size:.9em;font-family:inherit;outline:none}.profile-field-input:focus{border-color:#3498db}.profile-save-btn{display:inline-flex;align-items:center;gap:7px;padding:9px 22px;font-size:.9em;font-weight:700;font-family:inherit;background:#3498db;color:#fff;border:none;border-radius:8px;cursor:pointer;transition:background .18s,box-shadow .18s,transform .12s;box-shadow:0 2px 8px #3498db47;letter-spacing:.01em}.profile-save-btn:hover{background:#2980b9;box-shadow:0 4px 14px #3498db61;transform:translateY(-1px)}.profile-save-btn:active{transform:translateY(0);box-shadow:0 1px 4px #3498db2e}.profile-save-btn.is-saved{background:#27ae60;box-shadow:0 2px 8px #27ae6047}.backup-hint{font-size:.88em;color:#95a5a6;line-height:1.5;margin:0 0 12px}.backup-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:16px}.backup-toggle-label{font-size:.95em;font-weight:600;color:#2c3e50}.backup-toggle{position:relative;display:inline-block;width:52px;height:28px}.backup-toggle input{opacity:0;width:0;height:0}.backup-toggle-slider{position:absolute;cursor:pointer;inset:0;background:#95a5a6;border-radius:28px;transition:background .25s}.backup-toggle-slider:before{content:"";position:absolute;width:22px;height:22px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:transform .25s}.backup-toggle input:checked+.backup-toggle-slider{background:#27ae60}.backup-toggle input:checked+.backup-toggle-slider:before{transform:translate(24px)}.backup-input-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.backup-input{flex:1;min-width:200px;padding:8px 12px;font-size:.9em;border:1px solid #bdc3c7;border-radius:6px}.backup-input:focus{border-color:#3498db;outline:none;box-shadow:0 0 0 2px #3498db26}.backup-icon-btn{background:none;border:1px solid #bdc3c7;border-radius:6px;padding:7px 10px;cursor:pointer;font-size:1em}.backup-icon-btn:hover{background:#ecf0f1}.backup-status{font-size:.88em;padding:8px 12px;border-radius:6px;margin-top:10px}.backup-status-ok{background:#d5f5e3;color:#219a52;border-left:3px solid #27ae60}.backup-status-error{background:#fde8e8;color:#e74c3c;border-left:3px solid #e74c3c}.backup-status-warn{background:#fef6e0;color:#cf6d17;border-left:3px solid #e67e22}.backup-config-panel{margin-top:18px;padding-top:18px;border-top:1px solid #ecf0f1}.backup-config-form{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.backup-form-group{display:flex;flex-direction:column;gap:4px}.backup-label{font-size:.82em;font-weight:600;color:#34495e}.backup-textarea{width:100%;padding:8px 12px;font-size:.85em;font-family:monospace;border:1px solid #bdc3c7;border-radius:6px;resize:vertical}.backup-textarea:focus{border-color:#3498db;outline:none;box-shadow:0 0 0 2px #3498db26}.backup-or-label{text-align:center;font-size:.82em;color:#95a5a6;padding:4px 0}.backup-actions-row{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:16px}.backup-btn-danger{border-color:#e74c3c!important;color:#e74c3c!important}.backup-btn-danger:hover{background:#e74c3c!important;color:#fff!important}.backup-link-btn{font-size:.85em!important;padding:6px 14px!important}.backup-passphrase-status-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.backup-passphrase-warn{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.backup-list-table{width:100%;border-collapse:collapse;font-size:.88em;margin-top:16px}.backup-list-table th{text-align:left;font-weight:600;color:#34495e;padding:8px 10px;border-bottom:2px solid #ecf0f1;font-size:.9em}.backup-list-table td{padding:8px 10px;border-bottom:1px solid #ecf0f1;color:#2c3e50}.backup-list-table tr:hover td{background:#f8f9fa}.backup-source-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 10px;border-radius:12px;font-size:.85em;font-weight:600}.backup-source-auto{background:#e8f4fd;color:#2980b9}.backup-source-manual{background:#e8f8f0;color:#219a52}.backup-restore-btn{padding:4px 12px!important;font-size:.85em!important;min-width:auto!important}.data-mgmt-view{padding:28px 32px;max-width:720px;margin:0 auto;width:100%}.data-mgmt-inner{display:flex;flex-direction:column;gap:24px}.data-mgmt-header{display:flex;align-items:center;gap:16px}.data-mgmt-header h2{font-size:1.3em;font-weight:700;color:#2c3e50;margin:0}.data-mgmt-icon{font-size:2.2em;line-height:1}.data-mgmt-desc{font-size:.92em;color:#95a5a6;line-height:1.5;margin:0}.data-mgmt-last-export{font-size:.88em;color:#34495e;margin:0;padding:10px 14px;background:#f0f4f8;border-radius:6px;border-left:3px solid #3498db}.data-mgmt-actions{display:flex;gap:16px;flex-wrap:wrap}.data-mgmt-btn{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;font-size:.95em;font-weight:600;border:2px solid #3498db;border-radius:8px;background:#fff;color:#3498db;cursor:pointer;transition:background .15s,color .15s}.data-mgmt-btn:hover{background:#3498db;color:#fff}.data-mgmt-btn:disabled{opacity:.5;cursor:not-allowed}.migration-results{display:flex;flex-direction:column;gap:8px;margin-top:14px}.migration-check-item{display:grid;grid-template-columns:200px 28px 1fr;align-items:center;gap:10px;padding:8px 12px;background:#f8f9fa;border-radius:6px;font-size:.88em}.migration-check-label{font-weight:600;color:#2c3e50}.migration-check-status{font-size:1.1em;font-weight:700;text-align:center}.migration-check-status.migration-check-ok{color:#27ae60}.migration-check-status.migration-check-error{color:#e74c3c}.migration-check-status.migration-check-pending{color:#f39c12}.migration-check-detail{color:#95a5a6;font-size:.85em;line-height:1.4}.orphan-repair-table{width:100%;border-collapse:collapse;font-size:.85em;margin-top:8px}.orphan-repair-table th,.orphan-repair-table td{padding:6px 10px;text-align:left;border-bottom:1px solid #e0e0e0}.orphan-repair-table th{background:#f0f0f0;font-weight:600;color:#2c3e50}.orphan-repair-table td.orphan-raw-client{color:#c0392b;font-family:monospace;font-size:.9em}.orphan-client-select{padding:4px 8px;border:1px solid #ccc;border-radius:4px;font-size:.9em}.orphan-fix-btn{padding:4px 12px!important;font-size:.85em!important}.migration-repair-btn{border-color:#e67e22;color:#e67e22}.migration-repair-btn:hover{background:#e67e22;color:#fff}.migration-repair-result{margin-top:10px;padding:10px 14px;border-radius:6px;font-size:.88em;line-height:1.5}.migration-repair-result.migration-repair-ok{background:#eafaf1;color:#1e8449;border:1px solid #a9dfbf}.migration-repair-result.migration-repair-warn{background:#fef9e7;color:#7d6608;border:1px solid #f9e79f}.migration-repair-result.migration-repair-error{background:#fdedec;color:#922b21;border:1px solid #f5b7b1}.migration-repair-result.migration-repair-pending{background:#fef3cd;color:#856404;border:1px solid #ffd769}.user-badge-wrap{display:flex;align-items:center;gap:10px}.user-badge-name{font-size:.88em;font-weight:600;color:#ffffffe6;white-space:nowrap}.user-badge-logout{padding:4px 11px;border:1px solid rgba(255,255,255,.35);border-radius:6px;background:transparent;color:#fffc;font-size:.8em;font-weight:600;font-family:inherit;cursor:pointer;white-space:nowrap;transition:background .15s,color .15s}.user-badge-logout:hover{background:#ffffff26;color:#fff}#login-overlay{position:fixed;inset:0;z-index:9999}.login-screen{display:flex;align-items:center;justify-content:center;min-height:100%;background:linear-gradient(135deg,#1a252f,#2c3e50 60%,#34495e);padding:24px;box-sizing:border-box}.login-screen .login-card{background:#fff;border-radius:18px;padding:40px 36px;width:100%;max-width:420px;box-shadow:0 24px 64px #00000073}.login-screen .login-brand{text-align:center;margin-bottom:32px}.login-screen .login-brand .login-brand-logo{font-size:2.4em;line-height:1;margin-bottom:10px}.login-screen .login-brand h1{font-size:1.5em;font-weight:800;color:#2c3e50;margin:0 0 4px;letter-spacing:-.01em}.login-screen .login-brand h1 span{color:#3498db}.login-screen .login-brand p{color:#7f8c8d;font-size:.88em;margin:0}.login-screen .login-step-title{font-size:1.05em;font-weight:700;color:#2c3e50;margin:0 0 6px}.login-screen .login-step-desc{font-size:.86em;color:#7f8c8d;margin:0 0 18px;line-height:1.5}.login-screen .login-input{display:block;width:100%;padding:10px 14px;border:1.5px solid #dee2e6;border-radius:8px;font-size:1em;font-family:inherit;box-sizing:border-box;outline:none;transition:border-color .15s,box-shadow .15s;margin-bottom:4px}.login-screen .login-input:focus{border-color:#3498db;box-shadow:0 0 0 3px #3498db24}.login-screen .login-input.login-otp-input{font-size:1.7em;letter-spacing:.3em;text-align:center;font-weight:700;text-transform:uppercase;padding:12px 14px}.login-screen .login-btn-primary{display:block;width:100%;padding:11px;border:none;border-radius:8px;background:#2c3e50;color:#fff;font-size:1em;font-weight:700;font-family:inherit;cursor:pointer;margin-top:14px;transition:background .15s,transform .1s}.login-screen .login-btn-primary:hover:not(:disabled){background:#233140;transform:translateY(-1px)}.login-screen .login-btn-primary:disabled{opacity:.6;cursor:default;transform:none}.login-screen .login-btn-secondary{display:block;width:100%;padding:9px;border:1.5px solid #dee2e6;border-radius:8px;background:transparent;color:#7f8c8d;font-size:.88em;font-weight:600;font-family:inherit;cursor:pointer;margin-top:8px;transition:all .15s}.login-screen .login-btn-secondary:hover:not(:disabled){border-color:#adb5bd;color:#2c3e50}.login-screen .login-btn-secondary:disabled{opacity:.6;cursor:default}.login-screen .login-email-hint{background:#f0f4f8;border-radius:8px;padding:9px 14px;font-size:.87em;color:#495057;margin-bottom:18px}.login-screen .login-email-hint strong{color:#2c3e50}.login-screen .login-error{background:#fdeaea;color:#c0392b;border-radius:8px;padding:10px 14px;font-size:.87em;margin-top:12px;line-height:1.4}.login-screen .login-success{background:#eafaf1;color:#27ae60;border-radius:8px;padding:10px 14px;font-size:.87em;margin-top:8px}.login-screen .login-server-panel{margin-top:24px;border-top:1px solid #e9ecef;padding-top:12px}.login-screen .login-server-toggle{background:none;border:none;color:#adb5bd;font-size:.8em;cursor:pointer;padding:0;font-family:inherit;transition:color .15s}.login-screen .login-server-toggle:hover{color:#6c757d}.login-screen .login-server-toggle.open{color:#495057}.login-screen .login-server-form{margin-top:12px;display:flex;flex-direction:column;gap:8px}.login-screen .login-server-form.hidden{display:none}.login-screen .login-server-label{font-size:.82em;color:#6c757d;font-weight:600}.login-screen .login-server-input{font-size:.85em}.login-screen .login-server-save{width:auto;align-self:flex-start;padding:6px 14px}.login-screen .login-server-status{font-size:.8em;color:#27ae60;min-height:1.2em}.pyramide-dirty-banner{background:#fef3c7;border:1.5px solid #f59e0b;border-radius:5px;color:#92400e;font-size:.82em;font-weight:600;padding:3px 10px;align-self:center;white-space:nowrap;animation:dirty-pulse 2.5s ease-in-out infinite}.pyramide-dirty-banner.hidden{display:none}@keyframes dirty-pulse{0%,to{border-color:#f59e0b}50%{border-color:#ef4444}}
