:root{
  --ta-bg:#f1f5f9;
  --ta-card:#ffffff;
  --ta-border:#e2e8f0;
  --ta-text:#0f172a;
  --ta-muted:#64748b;
  --ta-primary:#3c50e0;
  --ta-primary-600:#2f3fd6;
  --ta-success:#10b981;
  --ta-danger:#ef4444;
  --ta-warning:#f59e0b;
  --ta-radius:12px;
  --ta-shadow:0 1px 2px rgba(15,23,42,.06),0 1px 3px rgba(15,23,42,.08);
}

body{
  background:var(--ta-bg)!important;
  color:var(--ta-text);
  font-family:Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, "Noto Sans", "Apple Color Emoji","Segoe UI Emoji";
}

.container-fluid{
  max-width:1440px;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:0!important;
  padding-right:0!important;
}

.h4,.h5,.h6{
  color:var(--ta-text);
}

.text-muted{
  color:var(--ta-muted)!important;
}

.card{
  border:1px solid var(--ta-border)!important;
  border-radius:var(--ta-radius)!important;
  box-shadow:var(--ta-shadow);
}
.card-header{
  background:#fff!important;
  border-bottom:1px solid var(--ta-border)!important;
  border-top-left-radius:var(--ta-radius)!important;
  border-top-right-radius:var(--ta-radius)!important;
}
.card-footer{
  background:#fff!important;
  border-top:1px solid var(--ta-border)!important;
  border-bottom-left-radius:var(--ta-radius)!important;
  border-bottom-right-radius:var(--ta-radius)!important;
}

.table{
  color:var(--ta-text);
}
.table>:not(caption)>*>*{
  border-bottom-color:var(--ta-border)!important;
}
.table thead th{
  color:var(--ta-muted);
  font-weight:600;
  font-size:.85rem;
  background:#fff;
}
.table-hover>tbody>tr:hover>*{
  background:rgba(241,245,249,.8);
}

.form-control,.form-select{
  width:100%;
  border:1px solid var(--ta-border)!important;
  border-color:var(--ta-border)!important;
  border-radius:10px!important;
  padding:.6rem .85rem!important;
  background:#fff!important;
  color:var(--ta-text)!important;
  box-shadow:none!important;
}
.form-control::placeholder{
  color:var(--ta-muted)!important;
  opacity:1;
}
.form-control:focus,.form-select:focus{
  border-color:rgba(60,80,224,.5)!important;
  box-shadow:0 0 0 .25rem rgba(60,80,224,.12)!important;
}
.form-label{
  color:var(--ta-text);
  font-weight:600;
  font-size:.875rem;
}
.form-text{
  color:var(--ta-muted)!important;
}

.btn{
  border-radius:10px!important;
  font-weight:600;
}
.btn-primary{
  background:var(--ta-primary)!important;
  border-color:var(--ta-primary)!important;
  color:#fff!important;
}
.btn-primary:hover{
  background:var(--ta-primary-600)!important;
  border-color:var(--ta-primary-600)!important;
}
.btn-secondary{
  background:#0f172a!important;
  border-color:#0f172a!important;
  color:#fff!important;
}
.btn-outline-secondary{
  color:var(--ta-text)!important;
  border-color:var(--ta-border)!important;
  background:#fff!important;
}
.btn-outline-secondary:hover{
  background:#f8fafc!important;
}
.btn-outline-primary{
  color:var(--ta-primary)!important;
  border-color:rgba(60,80,224,.35)!important;
  background:#fff!important;
}
.btn-outline-primary:hover{
  color:#fff!important;
  background:var(--ta-primary)!important;
  border-color:var(--ta-primary)!important;
}
.btn-outline-success{
  color:var(--ta-success)!important;
  border-color:rgba(16,185,129,.35)!important;
  background:#fff!important;
}
.btn-outline-success:hover{
  color:#fff!important;
  background:var(--ta-success)!important;
  border-color:var(--ta-success)!important;
}
.btn-outline-danger{
  color:var(--ta-danger)!important;
  border-color:rgba(239,68,68,.35)!important;
  background:#fff!important;
}
.btn-outline-danger:hover{
  color:#fff!important;
  background:var(--ta-danger)!important;
  border-color:var(--ta-danger)!important;
}

.alert{
  border-radius:var(--ta-radius)!important;
  border:1px solid var(--ta-border)!important;
}
.alert-success{
  background:rgba(16,185,129,.10)!important;
  border-color:rgba(16,185,129,.25)!important;
  color:#065f46!important;
}
.alert-danger{
  background:rgba(239,68,68,.10)!important;
  border-color:rgba(239,68,68,.25)!important;
  color:#7f1d1d!important;
}

.badge{
  border-radius:999px!important;
  font-weight:600;
  padding:.35rem .6rem;
}
.text-bg-primary{background:rgba(60,80,224,.12)!important;color:var(--ta-primary)!important}
.text-bg-success{background:rgba(16,185,129,.12)!important;color:#047857!important}
.text-bg-danger{background:rgba(239,68,68,.12)!important;color:#b91c1c!important}
.text-bg-warning{background:rgba(245,158,11,.14)!important;color:#92400e!important}
.text-bg-secondary{background:rgba(100,116,139,.14)!important;color:var(--ta-muted)!important}
.text-bg-info{background:rgba(14,165,233,.12)!important;color:#0369a1!important}

.modal-content{
  border-radius:16px!important;
  border:1px solid var(--ta-border)!important;
  box-shadow:0 20px 60px rgba(15,23,42,.18);
  background:#fff!important;
  display:flex;
  flex-direction:column;
}
.modal-header,.modal-footer{
  border-color:var(--ta-border)!important;
}
.modal-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  background:#fff!important;
}
.modal-footer{
  background:#fff!important;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-end;
  gap:.5rem;
}
.btn-close{
  filter:grayscale(1);
}

.dropdown-menu{
  border:1px solid var(--ta-border)!important;
  border-radius:14px!important;
  box-shadow:0 12px 30px rgba(15,23,42,.12);
  padding:.5rem;
}
.dropdown-menu{display:none}
.dropdown-menu.show{display:block}
.dropdown-item{
  border-radius:10px!important;
  padding:.55rem .7rem!important;
  font-weight:600;
}
.dropdown-item:hover{
  background:#f1f5f9!important;
}

.toast{
  border-radius:14px!important;
  box-shadow:0 12px 30px rgba(15,23,42,.12);
}

.d-flex{display:flex!important}
.d-inline-flex{display:inline-flex!important}
.align-items-center{align-items:center!important}
.align-items-end{align-items:flex-end!important}
.justify-content-between{justify-content:space-between!important}
.justify-content-md-end{justify-content:flex-end!important}
.flex-column{flex-direction:column!important}
.flex-grow-1{flex-grow:1!important}
.flex-wrap{flex-wrap:wrap!important}
.gap-2{gap:.5rem!important}
.gap-3{gap:.75rem!important}
.w-100{width:100%!important}
.text-end{text-align:right!important}
.text-center{text-align:center!important}
.text-nowrap{white-space:nowrap!important}
.fw-semibold{font-weight:600!important}
.small{font-size:.875rem!important}
.mt-2{margin-top:.5rem!important}
.mt-3{margin-top:.75rem!important}
.mt-4{margin-top:1rem!important}
.mb-0{margin-bottom:0!important}
.mb-3{margin-bottom:.75rem!important}
.mb-4{margin-bottom:1rem!important}
.py-4{padding-top:1rem!important;padding-bottom:1rem!important}
.py-3{padding-top:.75rem!important;padding-bottom:.75rem!important}
.px-3{padding-left:.75rem!important;padding-right:.75rem!important}
.p-3{padding:.75rem!important}
.ms-auto{margin-left:auto!important}
.me-1{margin-right:.25rem!important}
.me-2{margin-right:.5rem!important}
.d-none{display:none!important}
@media (min-width:576px){.d-sm-inline{display:inline!important}}
@media (min-width:768px){.d-md-flex{display:flex!important}}
@media (min-width:992px){.d-lg-none{display:none!important}}

.row{
  display:flex!important;
  flex-wrap:wrap!important;
  --ta-gutter-x:1rem;
  --ta-gutter-y:1rem;
  margin-left:calc(var(--ta-gutter-x) / -2);
  margin-right:calc(var(--ta-gutter-x) / -2);
  row-gap:var(--ta-gutter-y);
}
.row>*{
  padding-left:calc(var(--ta-gutter-x) / 2);
  padding-right:calc(var(--ta-gutter-x) / 2);
}
.g-0{--ta-gutter-x:0;--ta-gutter-y:0}
.g-1{--ta-gutter-x:.25rem;--ta-gutter-y:.25rem}
.g-2{--ta-gutter-x:.5rem;--ta-gutter-y:.5rem}
.g-3{--ta-gutter-x:.75rem;--ta-gutter-y:.75rem}
.g-4{--ta-gutter-x:1rem;--ta-gutter-y:1rem}
.g-5{--ta-gutter-x:1.25rem;--ta-gutter-y:1.25rem}
.col-12{flex:0 0 100%!important;max-width:100%!important}
.col-6{flex:0 0 50%!important;max-width:50%!important}
.col-auto{flex:0 0 auto!important;width:auto!important;max-width:none!important}
.col{flex:1 0 0%!important}
@media (min-width:768px){
  .col-md-6{flex:0 0 50%!important;max-width:50%!important}
  .col-md-4{flex:0 0 33.3333%!important;max-width:33.3333%!important}
  .col-md-3{flex:0 0 25%!important;max-width:25%!important}
  .col-md-2{flex:0 0 16.6667%!important;max-width:16.6667%!important}
  .col-md-8{flex:0 0 66.6667%!important;max-width:66.6667%!important}
  .col-md-auto{flex:0 0 auto!important;width:auto!important;max-width:none!important}
  .col-md{flex:1 0 0%!important}
}
@media (min-width:992px){
  .col-lg-6{flex:0 0 50%!important;max-width:50%!important}
}
@media (min-width:1200px){
  .col-xl-3{flex:0 0 25%!important;max-width:25%!important}
}

.card-body{padding:1rem}
.table-responsive{overflow-x:auto}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.55rem .85rem;font-size:.875rem;line-height:1.25rem;border:1px solid transparent!important}
.btn-check{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}
.btn-check:focus + .btn{
  outline:2px solid rgba(60,80,224,.35);
  outline-offset:2px;
}
.btn-sm{padding:.45rem .7rem;font-size:.8125rem}
.btn-group{display:inline-flex;align-items:center}
.btn-group>.btn{border-radius:0!important}
.btn-group>.btn:first-child{border-top-left-radius:10px!important;border-bottom-left-radius:10px!important}
.btn-group>.btn:last-child{border-top-right-radius:10px!important;border-bottom-right-radius:10px!important}
.btn-group-sm>.btn{padding:.4rem .6rem;font-size:.8125rem}

.toast-container{position:fixed;top:0;right:0;padding:1rem;z-index:1090}
.toast{min-width:280px}
.toast .toast-body{padding:.8rem 1rem}

.modal{position:fixed;inset:0;z-index:1055;display:none;overflow:auto;background:transparent}
.modal.show{display:flex!important;align-items:center;justify-content:center;padding:1.25rem;pointer-events:none}
.modal-backdrop{position:fixed;inset:0;z-index:1050;background:rgba(0,0,0,.4)}
.modal-backdrop.fade{opacity:0}
.modal-backdrop.show{opacity:1}
.modal-dialog{width:100%;max-width:560px;margin:0;background:transparent;pointer-events:auto}
.modal-dialog{border:0!important;box-shadow:none!important;padding:0!important}
.modal-content{overflow:hidden}
.modal-dialog.modal-xl{max-width:1140px}
.modal-dialog.modal-lg{max-width:860px}
.modal-content{width:100%}
.modal-header,.modal-footer{padding:1rem 1.25rem}
.modal-body{padding:1rem 1.25rem;flex:1 1 auto}
.btn-close{border:0;background:transparent;font-size:1.2rem;line-height:1;color:var(--ta-muted)}
.btn-close:before{content:"×"}
.form-check{display:flex;align-items:center;gap:.5rem}
.form-check-input{width:1rem;height:1rem;border:1px solid var(--ta-border);border-radius:.25rem}

.input-group{display:flex;align-items:stretch;width:100%}
.input-group-text{display:flex;align-items:center;padding:.55rem .75rem;border:1px solid var(--ta-border);background:#fff;border-radius:10px 0 0 10px;color:var(--ta-muted)}
.input-group>.form-control,.input-group>.form-select{border-radius:0 10px 10px 0!important}
.input-group>.form-control{flex:1 1 auto;min-width:0;width:1%!important}
.input-group>.form-select{flex:0 0 auto;width:auto!important}
.input-group>.form-control:not(:first-child),.input-group>.form-select:not(:first-child){border-left:0!important}
.input-group>.form-control:focus,.input-group>.form-select:focus{z-index:2}

.collapse:not(.show){display:none}
.collapse.show{display:block}
tr.collapse.show{display:table-row}
tr.collapsing{display:table-row}
