
:root{
  --app-navy:#0b2a4a;
  --app-navy-2:#123f6d;
  --app-blue:#0d6efd;
  --app-bg:#f4f7fb;
  --app-border:#dbe4ee;
  --app-text:#172b3a;
  --app-muted:#6c7d8c;
}
html,body{min-height:100%}
body{
  margin:0;
  background:var(--app-bg);
  color:var(--app-text);
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
}
.app-topbar,.navbar.app-topbar{
  background:var(--app-navy)!important;
  color:#fff!important;
  min-height:64px;
  box-shadow:0 2px 10px rgba(11,42,74,.18);
}
.app-topbar a,.app-topbar .navbar-brand,.app-topbar .nav-link{color:#fff!important}
.app-brand{font-weight:700;letter-spacing:.2px}
.app-shell{max-width:1440px;margin:0 auto;padding:24px}
.app-card,.card{
  border:1px solid var(--app-border);
  border-radius:14px;
  box-shadow:0 4px 16px rgba(20,50,80,.06);
  background:#fff;
}
.card-header{
  background:#fff;
  border-bottom:1px solid var(--app-border);
  font-weight:700;
}
.page-title{color:var(--app-navy);font-weight:750}
.text-muted{color:var(--app-muted)!important}
.btn-primary{
  background:var(--app-navy)!important;
  border-color:var(--app-navy)!important;
}
.btn-primary:hover,.btn-primary:focus{
  background:var(--app-navy-2)!important;
  border-color:var(--app-navy-2)!important;
}
.btn-outline-primary{
  color:var(--app-navy)!important;
  border-color:var(--app-navy)!important;
}
.btn-outline-primary:hover{
  color:#fff!important;background:var(--app-navy)!important;
}
.form-control,.form-select{
  min-height:44px;
  border-radius:9px;
  border-color:#cfdbe7;
}
.form-control:focus,.form-select:focus{
  border-color:#7aa7d3;
  box-shadow:0 0 0 .2rem rgba(11,42,74,.10);
}
.form-label{font-weight:600;color:#29465f;margin-bottom:.4rem}
.table{vertical-align:middle}
.table thead th{
  background:#edf3f8!important;
  color:var(--app-navy);
  font-size:.86rem;
  white-space:nowrap;
}
.badge-soft-primary{background:#e8f0f8;color:var(--app-navy)}
.wizard-wrap{background:#fff;border:1px solid var(--app-border);border-radius:14px;padding:18px}
.wizard-steps{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:10px;
  margin-bottom:22px;
}
.wizard-step{
  display:flex;align-items:center;gap:10px;
  padding:12px;
  border-radius:10px;
  background:#eef3f8;
  color:#5f7181;
  font-weight:650;
}
.wizard-step .step-no{
  width:30px;height:30px;border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center;
  background:#d6e1eb;color:#38546d;font-weight:700;flex:0 0 30px;
}
.wizard-step.active{background:var(--app-navy);color:#fff}
.wizard-step.active .step-no{background:#fff;color:var(--app-navy)}
.wizard-step.done{background:#dfeee8;color:#225b43}
.wizard-step.done .step-no{background:#2d7a58;color:#fff}
.section-title{
  font-size:1rem;font-weight:750;color:var(--app-navy);
  border-bottom:1px solid var(--app-border);padding-bottom:9px;margin-bottom:16px;
}
.summary-box{
  border:1px solid var(--app-border);border-radius:12px;background:#f8fafc;padding:14px;
}
.sticky-actions{
  position:sticky;bottom:0;z-index:20;background:rgba(255,255,255,.96);
  border-top:1px solid var(--app-border);padding:12px 0;margin-top:20px;
  backdrop-filter:blur(8px);
}
.nav-pills .nav-link{color:var(--app-navy);font-weight:600}
.nav-pills .nav-link.active{background:var(--app-navy)}
.alert-primary{background:#eaf2f9;border-color:#cbddeb;color:#173f61}
.settings-nav .list-group-item.active{background:var(--app-navy);border-color:var(--app-navy)}
.login-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:#eef3f8}
.login-card{width:100%;max-width:440px}
@media(max-width:768px){
  .app-shell{padding:14px}
  .wizard-steps{grid-template-columns:1fr 1fr}
  .wizard-step{padding:9px;font-size:.85rem}
}
@media(max-width:480px){
  .wizard-steps{grid-template-columns:1fr}
}
@media print{
  .no-print,.app-topbar,.sticky-actions{display:none!important}
  body{background:#fff}
  .app-shell{max-width:none;padding:0}
}
