:root{
  --app-primary:#2563eb;
  --app-primary-700:#1d4ed8;
  --app-primary-800:#1e40af;
  --app-bg:#f6f8fc;
  --app-surface:#ffffff;
  --app-border:#e5e7eb;
  --app-text:#0f172a;
  --app-muted:#64748b;
  --app-focus:rgba(37,99,235,.35);
  --app-radius:12px;
  --app-chrome:linear-gradient(90deg, #1e40af 0%, #2563eb 100%);
  --app-chrome-text:#ffffff;
  --app-sidebar-bg:#f2f7ff;
  --app-sidebar-border:#dbe7ff;
  --app-tint:rgba(37,99,235,.08);
}
html,body{
  height:100%;
}
body{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
.app-topbar{
  background:var(--app-chrome);
  border-bottom:0;
  color:var(--app-chrome-text);
}
.app-sidebar-toggle{
  border-color:rgba(255,255,255,.25);
  color:var(--app-chrome-text);
  background:rgba(255,255,255,.08);
}
.app-sidebar-toggle:hover,
.app-sidebar-toggle:focus{
  background:rgba(255,255,255,.14);
}
.app-brand{
  color:var(--app-chrome-text);
}
.app-topbar-action{
  color:var(--app-chrome-text);
}
.app-topbar-action:hover,
.app-topbar-action:focus{
  background:rgba(255,255,255,.14);
  color:var(--app-chrome-text);
}
.app-sidebar{
  background:var(--app-sidebar-bg);
  border-right:1px solid var(--app-sidebar-border);
}
.app-nav-title{
  color:rgba(30,64,175,.75);
}
.app-nav-link:hover,
.app-nav-link:focus{
  background:rgba(37,99,235,.10);
}
.app-nav-link.active{
  background:rgba(37,99,235,.18);
  color:var(--app-primary-800);
}
.app-footer{
  background:var(--app-chrome);
  border-top:0;
  color:rgba(255,255,255,.85);
}
.app-footer a{
  color:#ffffff;
  text-decoration:underline;
}
.card-header{
  background:var(--app-tint) !important;
}
.table tr.table-light > th{
  background:var(--app-tint) !important;
}
.table tr:nth-child(even):not(.table-light) td{
  background:#fbfdff;
}
h1,h2,h3,h4{
  color:var(--app-text);
}
a{
  color:var(--app-primary-700);
}
a:hover,
a:focus{
  color:var(--app-primary-800);
}
.form-control:focus{
  border-color:var(--app-primary);
  box-shadow:0 0 0 3px var(--app-focus);
}
.btn{
  border-radius:10px;
}
.btn:focus,
.btn:active:focus{
  outline:0;
  box-shadow:0 0 0 3px var(--app-focus);
}
.btn-success,
.btn-success:hover,
.btn-success:focus,
.btn-success:active,
.btn-success.active{
  background-color:var(--app-primary);
  border-color:var(--app-primary-700);
  color:#fff;
}
.btn-success:hover,
.btn-success:focus{
  background-color:var(--app-primary-700);
  border-color:var(--app-primary-800);
}
.panel{
  border-color:var(--app-border);
  box-shadow:0 2px 10px rgba(15,23,42,.06);
}
.panel-heading{
  background-color:var(--app-surface) !important;
  border-color:var(--app-border) !important;
  padding:14px 16px;
}
.panel-heading h4{
  margin:0;
  font-weight:700;
}
.panel-body{
  padding:16px;
}
.form-group{
  margin-bottom:14px;
}
.help-block{
  color:var(--app-muted);
}
.btn-default{
  background:#fff;
  border-color:var(--app-border);
  color:var(--app-text);
}
.btn-default:hover,
.btn-default:focus{
  background:#f8fafc;
  border-color:#cbd5e1;
  color:var(--app-text);
}
.panel-title,
.panel-heading h4{
  color:var(--app-text);
}
.panel-success{
  border-color:var(--app-border);
}
.panel-success>.panel-heading{
  color:var(--app-text);
}
.panel-success>.panel-heading .btn-success{
  background-color:var(--app-primary);
  border-color:var(--app-primary-700);
}
.pagination>.active>a,
.pagination>.active>a:focus,
.pagination>.active>a:hover,
.pagination>.active>span,
.pagination>.active>span:focus,
.pagination>.active>span:hover{
  background-color:var(--app-primary);
  border-color:var(--app-primary-700);
  color:#fff;
}
.pagination{
  gap:6px;
  flex-wrap:wrap;
}
.pagination .page-link{
  border-radius:10px;
  border-color:var(--app-border);
  color:var(--app-primary-700);
  padding:.35rem .6rem;
}
.pagination .page-link:hover{
  background:rgba(37,99,235,.10);
  color:var(--app-primary-800);
}
.pagination .page-item.active .page-link{
  background-color:var(--app-primary);
  border-color:var(--app-primary-700);
  color:#fff;
}
.pagination .page-item.disabled .page-link{
  color:var(--app-muted);
  background:#fff;
}
.table{
  font-size:.8rem;
}
.table th{
  font-size:.75rem;
}
.table td{
  font-size:.8rem;
}
.table>thead>tr>th{
  border-bottom:1px solid var(--app-border);
  color:var(--app-text);
  background:#f8fafc;
}
.table>thead>tr.success>th{
  background:rgba(37,99,235,.08);
  border-bottom:1px solid var(--app-border);
}
.table>tbody>tr.success>td{
  background:rgba(37,99,235,.06);
}
.table>tbody>tr>td{
  border-top:1px solid var(--app-border);
}
.modal-content{
  border-radius:var(--app-radius);
  box-shadow:0 15px 40px rgba(15,23,42,.18);
}
.modal-header{
  border-bottom:1px solid var(--app-border);
}
.modal-footer{
  border-top:1px solid var(--app-border);
}
.label-success,
.badge{
  background-color:var(--app-primary);
}
.select2-container{
  width:100% !important;
}
.select2-container--open{
  z-index:2000;
}
.alert{
  border-radius:12px;
  border:1px solid var(--app-border);
  box-shadow:0 8px 22px rgba(15,23,42,.08);
  padding-right:3rem;
  position:relative;
}
.alert-dismissible,
.alert-dismissable{
  padding-right:3rem;
  position:relative;
}
.alert .btn-close,
.alert .close{
  position:absolute;
  top:.65rem;
  right:.75rem;
  opacity:.8;
}
.alert .close{
  background:transparent;
  border:0;
  padding:0;
  width:1.5rem;
  height:1.5rem;
  line-height:1.5rem;
  font-size:1.25rem;
}
.alert .close span{
  display:block;
  line-height:1.5rem;
  width:1.5rem;
  height:1.5rem;
  text-align:center;
}
.alert .btn-close:hover,
.alert .btn-close:focus,
.alert .close:hover,
.alert .close:focus{
  opacity:1;
}
