.toast-center-center{top:50%;left:50%;transform:translate(-50%,-50%)}.toast-top-center{top:0;right:0;width:100%}.toast-bottom-center{bottom:0;right:0;width:100%}.toast-top-full-width{top:0;right:0;width:100%}.toast-bottom-full-width{bottom:0;right:0;width:100%}.toast-top-left{top:12px;left:12px}.toast-top-right{top:12px;right:12px}.toast-bottom-right{right:12px;bottom:12px}.toast-bottom-left{bottom:12px;left:12px}.toast-title{font-weight:700}.toast-message{word-wrap:break-word}.toast-message a,.toast-message label{color:#fff}.toast-message a:hover{color:#ccc;text-decoration:none}.toast-close-button{position:relative;right:-.3em;top:-.3em;float:right;font-size:20px;font-weight:700;color:#fff;text-shadow:0 1px 0 #ffffff}.toast-close-button:hover,.toast-close-button:focus{color:#000;text-decoration:none;cursor:pointer;opacity:.4}button.toast-close-button{padding:0;cursor:pointer;background:transparent;border:0}.toast-container{pointer-events:none;position:fixed;z-index:999999}.toast-container *{box-sizing:border-box}.toast-container .ngx-toastr{position:relative;overflow:hidden;margin:0 0 6px;padding:15px 15px 15px 50px;width:300px;border-radius:3px;background-position:15px center;background-repeat:no-repeat;background-size:24px;box-shadow:0 0 12px #999;color:#fff}.toast-container .ngx-toastr:hover{box-shadow:0 0 12px #000;opacity:1;cursor:pointer}.toast-info{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA1MTIgNTEyJyB3aWR0aD0nNTEyJyBoZWlnaHQ9JzUxMic+PHBhdGggZmlsbD0ncmdiKDI1NSwyNTUsMjU1KScgZD0nTTI1NiA4QzExOS4wNDMgOCA4IDExOS4wODMgOCAyNTZjMCAxMzYuOTk3IDExMS4wNDMgMjQ4IDI0OCAyNDhzMjQ4LTExMS4wMDMgMjQ4LTI0OEM1MDQgMTE5LjA4MyAzOTIuOTU3IDggMjU2IDh6bTAgMTEwYzIzLjE5NiAwIDQyIDE4LjgwNCA0MiA0MnMtMTguODA0IDQyLTQyIDQyLTQyLTE4LjgwNC00Mi00MiAxOC44MDQtNDIgNDItNDJ6bTU2IDI1NGMwIDYuNjI3LTUuMzczIDEyLTEyIDEyaC04OGMtNi42MjcgMC0xMi01LjM3My0xMi0xMnYtMjRjMC02LjYyNyA1LjM3My0xMiAxMi0xMmgxMnYtNjRoLTEyYy02LjYyNyAwLTEyLTUuMzczLTEyLTEydi0yNGMwLTYuNjI3IDUuMzczLTEyIDEyLTEyaDY0YzYuNjI3IDAgMTIgNS4zNzMgMTIgMTJ2MTAwaDEyYzYuNjI3IDAgMTIgNS4zNzMgMTIgMTJ2MjR6Jy8+PC9zdmc+)}.toast-error{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA1MTIgNTEyJyB3aWR0aD0nNTEyJyBoZWlnaHQ9JzUxMic+PHBhdGggZmlsbD0ncmdiKDI1NSwyNTUsMjU1KScgZD0nTTI1NiA4QzExOSA4IDggMTE5IDggMjU2czExMSAyNDggMjQ4IDI0OCAyNDgtMTExIDI0OC0yNDhTMzkzIDggMjU2IDh6bTEyMS42IDMxMy4xYzQuNyA0LjcgNC43IDEyLjMgMCAxN0wzMzggMzc3LjZjLTQuNyA0LjctMTIuMyA0LjctMTcgMEwyNTYgMzEybC02NS4xIDY1LjZjLTQuNyA0LjctMTIuMyA0LjctMTcgMEwxMzQuNCAzMzhjLTQuNy00LjctNC43LTEyLjMgMC0xN2w2NS42LTY1LTY1LjYtNjUuMWMtNC43LTQuNy00LjctMTIuMyAwLTE3bDM5LjYtMzkuNmM0LjctNC43IDEyLjMtNC43IDE3IDBsNjUgNjUuNyA2NS4xLTY1LjZjNC43LTQuNyAxMi4zLTQuNyAxNyAwbDM5LjYgMzkuNmM0LjcgNC43IDQuNyAxMi4zIDAgMTdMMzEyIDI1Nmw2NS42IDY1LjF6Jy8+PC9zdmc+)}.toast-success{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA1MTIgNTEyJyB3aWR0aD0nNTEyJyBoZWlnaHQ9JzUxMic+PHBhdGggZmlsbD0ncmdiKDI1NSwyNTUsMjU1KScgZD0nTTE3My44OTggNDM5LjQwNGwtMTY2LjQtMTY2LjRjLTkuOTk3LTkuOTk3LTkuOTk3LTI2LjIwNiAwLTM2LjIwNGwzNi4yMDMtMzYuMjA0YzkuOTk3LTkuOTk4IDI2LjIwNy05Ljk5OCAzNi4yMDQgMEwxOTIgMzEyLjY5IDQzMi4wOTUgNzIuNTk2YzkuOTk3LTkuOTk3IDI2LjIwNy05Ljk5NyAzNi4yMDQgMGwzNi4yMDMgMzYuMjA0YzkuOTk3IDkuOTk3IDkuOTk3IDI2LjIwNiAwIDM2LjIwNGwtMjk0LjQgMjk0LjQwMWMtOS45OTggOS45OTctMjYuMjA3IDkuOTk3LTM2LjIwNC0uMDAxeicvPjwvc3ZnPg==)}.toast-warning{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA1NzYgNTEyJyB3aWR0aD0nNTc2JyBoZWlnaHQ9JzUxMic+PHBhdGggZmlsbD0ncmdiKDI1NSwyNTUsMjU1KScgZD0nTTU2OS41MTcgNDQwLjAxM0M1ODcuOTc1IDQ3Mi4wMDcgNTY0LjgwNiA1MTIgNTI3Ljk0IDUxMkg0OC4wNTRjLTM2LjkzNyAwLTU5Ljk5OS00MC4wNTUtNDEuNTc3LTcxLjk4N0wyNDYuNDIzIDIzLjk4NWMxOC40NjctMzIuMDA5IDY0LjcyLTMxLjk1MSA4My4xNTQgMGwyMzkuOTQgNDE2LjAyOHpNMjg4IDM1NGMtMjUuNDA1IDAtNDYgMjAuNTk1LTQ2IDQ2czIwLjU5NSA0NiA0NiA0NiA0Ni0yMC41OTUgNDYtNDYtMjAuNTk1LTQ2LTQ2LTQ2em0tNDMuNjczLTE2NS4zNDZsNy40MTggMTM2Yy4zNDcgNi4zNjQgNS42MDkgMTEuMzQ2IDExLjk4MiAxMS4zNDZoNDguNTQ2YzYuMzczIDAgMTEuNjM1LTQuOTgyIDExLjk4Mi0xMS4zNDZsNy40MTgtMTM2Yy4zNzUtNi44NzQtNS4wOTgtMTIuNjU0LTExLjk4Mi0xMi42NTRoLTYzLjM4M2MtNi44ODQgMC0xMi4zNTYgNS43OC0xMS45ODEgMTIuNjU0eicvPjwvc3ZnPg==)}.toast-container.toast-top-center .ngx-toastr,.toast-container.toast-bottom-center .ngx-toastr{width:300px;margin-left:auto;margin-right:auto}.toast-container.toast-top-full-width .ngx-toastr,.toast-container.toast-bottom-full-width .ngx-toastr{width:96%;margin-left:auto;margin-right:auto}.ngx-toastr{background-color:#030303;pointer-events:auto}.toast-success{background-color:#51a351}.toast-error{background-color:#bd362f}.toast-info{background-color:#2f96b4}.toast-warning{background-color:#f89406}.toast-progress{position:absolute;left:0;bottom:0;height:4px;background-color:#000;opacity:.4}@media all and (max-width: 240px){.toast-container .ngx-toastr.div{padding:8px 8px 8px 50px;width:11em}.toast-container .toast-close-button{right:-.2em;top:-.2em}}@media all and (min-width: 241px) and (max-width: 480px){.toast-container .ngx-toastr.div{padding:8px 8px 8px 50px;width:18em}.toast-container .toast-close-button{right:-.2em;top:-.2em}}@media all and (min-width: 481px) and (max-width: 768px){.toast-container .ngx-toastr.div{padding:15px 15px 15px 50px;width:25em}}.mt-6{margin-top:4rem!important}.mb-6{margin-bottom:4rem!important}.pt-6{padding-top:4rem!important}.pb-6{padding-bottom:4rem!important}.text-truncate-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.text-truncate-3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.cursor-pointer{cursor:pointer}.cursor-not-allowed{cursor:not-allowed}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.hover-lift{transition:transform .3s ease,box-shadow .3s ease}.hover-lift:hover{transform:translateY(-4px);box-shadow:0 8px 16px #00000026}.hover-scale{transition:transform .3s ease}.hover-scale:hover{transform:scale(1.05)}.bg-gradient-primary{background:linear-gradient(135deg,#667eea,#764ba2)}.bg-gradient-success{background:linear-gradient(135deg,#10b981,#059669)}.bg-gradient-danger{background:linear-gradient(135deg,#ef4444,#dc2626)}.border-dashed{border-style:dashed!important}.shadow-soft{box-shadow:0 2px 12px #00000014!important}.shadow-hover{transition:box-shadow .3s ease}.shadow-hover:hover{box-shadow:0 8px 24px #00000026!important}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}.animate-fade-in{animation:fadeIn .5s ease}.animate-fade-in-up{animation:fadeInUp .6s ease}.animate-slide-in-right{animation:slideInRight .5s ease}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:1rem;line-height:1.5;color:#2b2f38;background-color:#eef1f7}body{scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.2) transparent}body::-webkit-scrollbar{width:8px;height:8px}body::-webkit-scrollbar-track{background:transparent}body::-webkit-scrollbar-thumb{background-color:#0003;border-radius:4px}body::-webkit-scrollbar-thumb:hover{background-color:#0000004d}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.2;margin-bottom:1rem}p{margin-bottom:1rem}a{text-decoration:none;color:#4361ee;transition:color .2s ease}a:hover{color:color-mix(in srgb,#4361ee 90%,black 10%)}.form-control,.form-select{border-radius:.625rem;border-color:#e3e7ef;padding:.55rem .9rem}.form-control:focus,.form-select:focus{border-color:#4361ee;box-shadow:0 0 0 .2rem #4361ee2e}.form-control-lg,.form-select-lg{border-radius:1rem}.btn{font-weight:600;padding:.6rem 1.4rem;border-radius:.625rem;transition:all .2s ease}.btn:active{transform:scale(.98)}.btn-primary{background:linear-gradient(100deg,#4361ee,#4f63f0 55%,#5a6ff2);border:none;box-shadow:0 6px 16px #4361ee47}.btn-primary:hover,.btn-primary:focus,.btn-primary:active{background:linear-gradient(100deg,#2f49d6,#4361ee)!important;box-shadow:0 8px 22px #4361ee61;transform:translateY(-1px)}.btn-primary:disabled{background:linear-gradient(100deg,#4361ee,#4f63f0 55%,#5a6ff2);opacity:.6}.btn-danger{background:#ef4655;border:none}.btn-danger:hover,.btn-danger:focus,.btn-danger:active{background:color-mix(in srgb,#ef4655 88%,black)!important}.btn-success{background:#1dbf73;border:none}.btn-success:hover,.btn-success:focus,.btn-success:active{background:color-mix(in srgb,#1dbf73 88%,black)!important}.btn-outline-primary{border-color:#4361ee;color:#4361ee}.btn-outline-primary:hover,.btn-outline-primary:focus,.btn-outline-primary:active{background:#4361ee!important;border-color:#4361ee!important}.btn-pill{border-radius:50rem}.btn-soft{border:none;border-radius:50rem;padding:.35rem 1rem;font-size:.8rem;font-weight:600}.btn-soft.btn-soft-edit{background:#fdf1d6;color:#b07d12}.btn-soft.btn-soft-edit:hover{background:#fbe6b8}.btn-soft.btn-soft-delete{background:#fde0e3;color:#d63647}.btn-soft.btn-soft-delete:hover{background:#fbcdd2}.btn-soft.btn-soft-primary{background:#e5eaff;color:#2f49d6}.btn-soft.btn-soft-primary:hover{background:#d6deff}.card{border:none;border-radius:1rem;box-shadow:0 6px 24px #212b4f0f;margin-bottom:1.5rem;transition:all .25s ease}.card:hover{box-shadow:0 16px 48px #212b4f1f}.card .card-header{background-color:transparent;border-bottom:1px solid #eef0f5;padding:1.25rem 1.5rem;font-weight:700}.card .card-body{padding:1.5rem}.badge{font-weight:600;padding:.45rem .85rem;border-radius:50rem;letter-spacing:.02em}.badge.badge-status-active,.badge.bg-active{background:#1dbf73!important;color:#fff}.badge.badge-status-inactive{background:#9aa3b2!important;color:#fff}.badge.badge-chip{background:#3b4453!important;color:#fff;text-transform:uppercase;font-size:.7rem}.modal-content{border:none;border-radius:1rem;box-shadow:0 16px 48px #212b4f1f}.table-card{background:#fff;border-radius:1rem;box-shadow:0 6px 24px #212b4f0f;padding:.5rem;overflow:hidden}.table{margin-bottom:0;border-color:#eef0f5}.table thead th{background-color:#f5f7fb;font-weight:700;text-transform:uppercase;font-size:.75rem;letter-spacing:.6px;color:#8a93a4;border-bottom:none;padding:.9rem 1rem}.table thead th:first-child{border-top-left-radius:.625rem;border-bottom-left-radius:.625rem}.table thead th:last-child{border-top-right-radius:.625rem;border-bottom-right-radius:.625rem}.table tbody td{padding:1rem;vertical-align:middle;border-bottom:1px solid #f0f2f7;color:#4a5160}.table tbody tr{transition:background-color .15s ease}.table tbody tr:hover{background-color:#f8faff}.table tbody tr:last-child td{border-bottom:none}.table-hover>tbody>tr:hover>*{background-color:#f8faff}.toast-container .ngx-toastr{border-radius:.625rem;box-shadow:0 16px 48px #212b4f1f}.spinner-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:9999}.no-select{-webkit-user-select:none;user-select:none}.pointer-events-none{pointer-events:none}*:focus-visible{outline:2px solid #4361ee;outline-offset:2px}@media print{.no-print{display:none!important}}@media (prefers-color-scheme: dark){body.dark-mode{background-color:#1a1a1a;color:#fff}body.dark-mode .card{background-color:#2d2d2d;color:#fff}body.dark-mode .form-control,body.dark-mode .form-select{background-color:#2d2d2d;color:#fff;border-color:#404040}}img{max-width:100%;height:auto}html{scroll-behavior:smooth}.page-content{min-height:100%}.page-header{padding-bottom:1rem;margin-bottom:1.25rem;border-bottom:1px solid #dce3ef}.page-header h1,.page-header h2{color:#2b2f38;margin-bottom:0}.page-panel{background:#f0f3f9;border:1px solid #dce3ef;border-radius:1rem;padding:.75rem}.surface-card{background:#fff;border:1px solid #dce3ef;border-radius:.625rem;box-shadow:0 1px 3px #212b4f0f}.data-table-wrap{background:#fff;border:1px solid #dce3ef;border-radius:.625rem;overflow:hidden}.content-container .card{border:1px solid #dce3ef;box-shadow:0 1px 3px #212b4f0f}.content-container .card:hover{box-shadow:0 6px 24px #212b4f0f}.content-container .nav-tabs{border-bottom:1px solid #dce3ef;gap:.25rem}.content-container .nav-tabs .nav-link{color:#6b7280;border:1px solid transparent;border-radius:.625rem .625rem 0 0;margin-bottom:-1px}.content-container .nav-tabs .nav-link:hover{border-color:#dce3ef;background:#f0f3f9}.content-container .nav-tabs .nav-link.active{color:#4361ee;font-weight:700;background:#fff;border-color:#dce3ef #dce3ef #fff}.content-container .tab-content-panel,.content-container .page-panel>.table-responsive{margin-top:.5rem}
