:root{--bs-font-sans-serif:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--primary-color:#0d6efd;--primary-dark:#0b5ed7;--secondary-color:#6c757d;--success-color:#198754;--border-radius:0.75rem;--border-radius-sm:0.5rem;--shadow-sm:0 0.125rem 0.25rem rgba(0,0,0,.075);--shadow:0 0.5rem 1rem rgba(0,0,0,.15);--shadow-lg:0 1rem 3rem rgba(0,0,0,.175);--gradient-primary:linear-gradient(135deg,#667eea,#764ba2);--gradient-bg:linear-gradient(180deg,#f8f9fa 0%,#e9ecef)}body{font-family:var(--bs-font-sans-serif);background:var(--gradient-bg);background-attachment:fixed;min-height:100vh}.navbar{padding:1.25rem 0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:hsla(0,0%,100%,.95)!important}.navbar-brand{font-size:1.25rem;font-weight:600;color:#212529!important}.custom-tabs{background:#fff;border-radius:var(--border-radius);padding:.5rem;box-shadow:var(--shadow-sm);margin-bottom:1.5rem}.custom-tabs .nav-link{color:#6c757d;font-weight:500;border:none;border-radius:var(--border-radius-sm);padding:.75rem 1.25rem;margin:0 .25rem;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;display:flex;align-items:center;gap:.5rem}.custom-tabs .nav-link:hover{color:var(--primary-color);background-color:rgba(13,110,253,.08);transform:translateY(-1px)}.custom-tabs .nav-link.active{color:#fff;background:linear-gradient(135deg,var(--primary-color) 0,var(--primary-dark) 100%);box-shadow:0 4px 12px rgba(13,110,253,.3);border-bottom:none}.custom-tabs .nav-link.active:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(13,110,253,.4)}.card{border:none;box-shadow:var(--shadow-sm);border-radius:var(--border-radius);transition:all .3s cubic-bezier(.4,0,.2,1);background:#fff;overflow:hidden}.card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.card-header{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-bottom:1px solid #dee2e6;font-weight:600;padding:1.25rem 1.5rem;font-size:1.1rem}.card-body{padding:1.5rem}.btn{border-radius:var(--border-radius-sm);font-weight:500;transition:all .3s cubic-bezier(.4,0,.2,1);padding:.5rem 1rem;border:none}.btn-primary{background:linear-gradient(135deg,var(--primary-color) 0,var(--primary-dark) 100%);box-shadow:0 2px 8px rgba(13,110,253,.3)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(13,110,253,.4);background:linear-gradient(135deg,var(--primary-dark) 0,#0a58ca 100%)}.btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.15)}.btn:active{transform:translateY(0)}.form-control,.form-select{border-radius:.375rem;border:1px solid #ced4da;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-control:focus,.form-select:focus{border-color:#86b7fe;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.table{border-radius:var(--border-radius);overflow:hidden}.table thead{background-color:#f8f9fa}.rdt_TableHeadRow{font-weight:600}.rdt_TableHeadRow,.rdt_TableRow:hover{background-color:#f8f9fa!important}.loading-spinner{display:inline-block;width:1rem;height:1rem;border:2px solid;border-right:2px solid transparent;border-radius:50%;animation:spinner .75s linear infinite}@keyframes spinner{to{transform:rotate(1turn)}}@media print{.tab-pane{display:none!important}.tab-pane.active{display:block!important}body{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}body,html{height:auto!important}.tab-pane,.tab-pane *{overflow:visible!important}.card-body{max-height:none!important}.card,.col,.container,.container-fluid,.row{break-inside:auto!important;page-break-inside:auto!important}.html-widget,.js-plotly-plot{break-inside:avoid!important;page-break-inside:avoid!important}}.print-btn{cursor:pointer}