:root{--brand:#0d9488;--brand-dark:#0f766e;--ink:#0f172a;--muted:#64748b;--line:#e2e8f0;--surface:#fff;--canvas:#f4f7fb;--danger:#dc2626;--radius:18px;--shadow:0 12px 36px rgba(15,23,42,.08)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body.app-shell{min-height:100vh;background:radial-gradient(circle at 100% 0,rgba(13,148,136,.08),transparent 28rem),var(--canvas);color:var(--ink);font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}a{color:var(--brand-dark)}a:hover{color:#115e59}.navbar-branding{position:sticky;top:0;z-index:1040}.container,.container-fluid{--bs-gutter-x:2rem}
#wrapper{min-height:calc(100vh - 68px);display:flex}.sidebar,.bg-light.border-end{background:linear-gradient(180deg,#fff,#f8fafc)!important;border-color:var(--line)!important;box-shadow:8px 0 30px rgba(15,23,42,.035)}.sidebar .list-group-item,.list-group-flush>.list-group-item{border:0;background:transparent;color:#475569;margin:.15rem .7rem;padding:.78rem 1rem;border-radius:12px;font-weight:600;transition:.2s}.sidebar .list-group-item:hover,.sidebar .list-group-item.active,.list-group-flush>.list-group-item:hover{background:#ccfbf1;color:#115e59;transform:translateX(2px)}
h1,h2,h3,h4,h5,h6{color:var(--ink);font-weight:800;letter-spacing:-.025em}.text-muted{color:var(--muted)!important}.card{border:1px solid rgba(226,232,240,.8);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.card-header{background:rgba(248,250,252,.9);border-bottom:1px solid var(--line);padding:1rem 1.25rem;font-weight:800}.card-body{padding:1.35rem}.table-responsive{border-radius:15px}.table{--bs-table-bg:transparent;vertical-align:middle}.table thead th{background:#f8fafc;color:#475569;border-bottom:1px solid var(--line);font-size:.76rem;letter-spacing:.045em;text-transform:uppercase;padding:.9rem}.table tbody td{border-color:#edf2f7;padding:.9rem}.table-hover tbody tr:hover{--bs-table-hover-bg:#f0fdfa}
.btn{border-radius:11px;font-weight:700;padding:.58rem .95rem;box-shadow:none!important;transition:transform .18s,box-shadow .18s}.btn:hover{transform:translateY(-1px)}.btn-primary{--bs-btn-bg:var(--brand);--bs-btn-border-color:var(--brand);--bs-btn-hover-bg:var(--brand-dark);--bs-btn-hover-border-color:var(--brand-dark)}.btn-success{--bs-btn-bg:#059669;--bs-btn-border-color:#059669}.btn-danger{--bs-btn-bg:var(--danger);--bs-btn-border-color:var(--danger)}.btn-outline-primary{--bs-btn-color:var(--brand-dark);--bs-btn-border-color:var(--brand);--bs-btn-hover-bg:var(--brand)}.badge{border-radius:999px;padding:.46em .72em;font-weight:700}
.form-label{font-weight:700;color:#334155;font-size:.88rem}.form-control,.form-select,.input-group-text{border-color:#cbd5e1;border-radius:11px;min-height:44px}.form-control:focus,.form-select:focus{border-color:#2dd4bf;box-shadow:0 0 0 .24rem rgba(13,148,136,.12)}textarea.form-control{min-height:110px}.alert{border:0;border-radius:14px;box-shadow:0 8px 25px rgba(15,23,42,.055)}
.modal-backdrop.show{opacity:.48;backdrop-filter:blur(5px)}.modal-content{border:0;border-radius:24px;box-shadow:0 28px 85px rgba(15,23,42,.28);overflow:hidden}.modal-header{padding:1.25rem 1.5rem;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#fff,#f8fafc)}.modal-title{font-weight:800;letter-spacing:-.02em}.modal-body{padding:1.5rem}.modal-footer{padding:1rem 1.5rem;border-top:1px solid var(--line);background:#f8fafc}.modal .btn-close{border-radius:50%;padding:.7rem;background-color:#e2e8f0}.modal-dialog{transition:transform .22s ease-out!important}.modal.fade .modal-dialog{transform:translateY(16px) scale(.985)}.modal.show .modal-dialog{transform:none}
.app-toast-area{position:fixed;right:1.25rem;bottom:1.25rem;z-index:1090;display:grid;gap:.7rem;max-width:min(390px,calc(100vw - 2rem))}.app-toast{display:flex;align-items:flex-start;gap:.8rem;background:#fff;border:1px solid var(--line);border-left:4px solid var(--brand);border-radius:14px;padding:1rem;box-shadow:0 20px 55px rgba(15,23,42,.18);animation:toast-in .25s ease}.app-toast.error{border-left-color:var(--danger)}.app-toast strong{display:block}.app-toast p{margin:.2rem 0 0;color:var(--muted);font-size:.86rem}.app-loading{pointer-events:none;position:relative;color:transparent!important}.app-loading:after{content:"";position:absolute;width:18px;height:18px;left:calc(50% - 9px);top:calc(50% - 9px);border:2px solid currentColor;border-right-color:transparent;border-radius:50%;color:#fff;animation:spin .65s linear infinite}
.pagination .page-link{border:0;margin:0 .15rem;border-radius:9px;color:var(--brand-dark)}.pagination .active>.page-link{background:var(--brand)}.dataTables_wrapper .dataTables_filter input,.dataTables_wrapper .dataTables_length select{border:1px solid #cbd5e1;border-radius:10px;padding:.45rem}.footer-bolsa-compact{margin-top:auto!important}
@keyframes spin{to{transform:rotate(360deg)}}@keyframes toast-in{from{opacity:0;transform:translateY(10px)}}@media(max-width:991.98px){.container,.container-fluid{--bs-gutter-x:1.25rem}#wrapper{display:block}.sidebar,.bg-light.border-end{width:100%!important;min-height:auto!important}.card-body{padding:1.05rem}.table{min-width:680px}.navbar-branding{position:relative}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
