*,:after,:before{box-sizing:border-box}body{margin:0}:focus-visible{outline:2px solid #4f6ef7;outline-offset:2px;border-radius:4px}:focus:not(:focus-visible){outline:none}button{transition:filter .12s ease,background .12s ease,box-shadow .12s ease}button:not(:disabled):hover{filter:brightness(.92)}button:disabled{opacity:.5;cursor:not-allowed}.btn-primary:not(:disabled):hover{background:#252547!important;box-shadow:0 2px 6px rgba(26,26,46,.3);filter:none}.btn-secondary:not(:disabled):hover{background:#e9eaec!important;filter:none}.btn-danger:not(:disabled):hover{background:#fff0f0!important;filter:none}input:focus,select:focus,textarea:focus{border-color:#4f6ef7!important;box-shadow:0 0 0 3px rgba(79,110,247,.12);outline:none}.data-table tbody tr{transition:background .1s ease}.data-table tbody tr:hover{background:#f0f4ff!important}.accordion-row{transition:background .1s ease}.accordion-row:hover{background:#f5f5f8!important}.nav-link{color:#aaa;text-decoration:none;transition:color .1s,background .1s;padding:5px 10px;border-radius:5px;font-size:14px}.nav-link:hover{color:#fff!important;background:rgba(255,255,255,.08)}.nav-link.active{color:#fff!important;font-weight:600;background:rgba(255,255,255,.12)}.chevron{display:inline-block;transition:transform .15s ease}.chevron.open{transform:rotate(180deg)}@keyframes spin{to{transform:rotate(1turn)}}.spinner{display:inline-block;width:12px;height:12px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite;margin-right:6px;vertical-align:middle}.spinner.dark{border-color:#374151 rgba(55,65,81,.3) rgba(55,65,81,.3)}.toast-container{position:fixed;bottom:24px;right:24px;z-index:9999;display:flex;flex-direction:column;gap:8px;pointer-events:none}.toast{background:#1a1a2e;color:#fff;padding:10px 18px;border-radius:6px;font-size:13px;font-family:inherit;box-shadow:0 4px 16px rgba(0,0,0,.2);animation:toast-in .2s ease;pointer-events:auto}.toast.success{background:#15803d}.toast.error{background:#b91c1c}.toast.info{background:#1d4ed8}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.tree-plus-btn{transition:background .12s ease,border-color .12s ease,transform .08s ease}.tree-plus-btn:hover{background:#ede9fe!important;border-color:#a78bfa!important}.tree-plus-btn:active{transform:scale(.92)}.hover-card{transition:box-shadow .15s ease,transform .15s ease,border-color .15s ease}.hover-card:hover{box-shadow:0 4px 12px rgba(26,26,46,.12)!important;transform:translateY(-1px);border-color:#c7d2fe!important}