:root{
  --gor-blue: #023373;
  --gor-blue-dark: #01152e;
  --gor-yellow: #F2CB05;
  --gor-bg: #f3f6fa;
  --gor-surface: #ffffff;
  --gor-surface-soft: #f8fbff;
  --gor-border: #d8e2ee;
  --gor-text: #122746;
  --gor-text-soft: #5f738d;
  --gor-shadow: 0 16px 40px rgba(10, 31, 68, .08);
}

*{ box-sizing: border-box; }

body{
  background:var(--gor-bg);
  font-family:"Rajdhani", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-weight:700; /* Rajdhani Bold no site todo */
  color:var(--gor-text);
}

a{
  color:var(--gor-blue);
}

a:hover{
  color:var(--gor-blue-dark);
}

.navbar.fixed-top{
  z-index:1305;
  background:rgba(255,255,255,.94) !important;
  backdrop-filter:blur(10px);
  box-shadow:0 10px 26px rgba(10, 31, 68, .06);
}

.content-wrap{
  max-width:1440px;
  padding-top:96px;
  padding-bottom:32px;
}

.hero{
  display:grid;
  gap:10px;
  padding:24px !important;
  border:1px solid var(--gor-border);
  border-radius:22px;
  background:linear-gradient(180deg, #ffffff 0%, #f9fbfe 100%);
  color:var(--gor-text);
  box-shadow:var(--gor-shadow);
}

.hero h1,
.hero h2,
.hero h3{
  margin:0;
  color:var(--gor-text);
}

.hero p{
  margin:0;
  max-width:72ch;
  color:var(--gor-text-soft);
  font-size:1rem;
  line-height:1.55;
}

.hero .badge{
  width:max-content;
  padding:.45rem .75rem;
  border-radius:999px;
  background:#eef4fb;
  border:1px solid #cdddf1;
  color:var(--gor-blue);
  font-size:.78rem;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.gor-page-shell{
  display:grid;
  gap:18px;
}

.gor-page-head{
  display:grid;
  gap:10px;
  padding:24px;
  border:1px solid var(--gor-border);
  border-radius:22px;
  background:linear-gradient(180deg, #ffffff 0%, #f9fbfe 100%);
  box-shadow:var(--gor-shadow);
}

.gor-page-kicker{
  width:max-content;
  padding:.45rem .8rem;
  border-radius:999px;
  border:1px solid #cdddf1;
  background:#eef4fb;
  color:var(--gor-blue);
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.gor-page-head h1,
.gor-page-head h2,
.gor-page-head h3{
  margin:0;
  color:var(--gor-text);
}

.gor-page-head p{
  margin:0;
  max-width:76ch;
  color:var(--gor-text-soft);
  line-height:1.55;
}

.gor-page-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.gor-stat-pills{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.gor-stat-pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:40px;
  padding:0 14px;
  border:1px solid var(--gor-border);
  border-radius:999px;
  background:var(--gor-surface-soft);
  color:var(--gor-text);
  font-size:.92rem;
}

.gor-stat-pill strong{
  font-size:1rem;
}

.gor-section-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
}

.gor-section-head h2,
.gor-section-head h3,
.gor-section-head h4{
  margin:0;
  color:var(--gor-text);
}

.gor-section-head p{
  margin:.25rem 0 0;
  color:var(--gor-text-soft);
}

.gor-empty-card{
  padding:24px;
}

.gor-empty-card h2,
.gor-empty-card h3,
.gor-empty-card h4{
  margin:0 0 8px;
}

.gor-empty-card p{
  margin:0;
  color:var(--gor-text-soft);
  line-height:1.55;
}

.card{
  border:1px solid var(--gor-border);
  border-radius:20px;
  background:var(--gor-surface);
  box-shadow:var(--gor-shadow);
}

.card .card-title,
.card h1,
.card h2,
.card h3,
.card h4,
.card h5{
  color:var(--gor-text);
}

.muted,
.text-muted{
  color:var(--gor-text-soft) !important;
  opacity:1;
}

.nav-pill{ border-radius:999px; }

.gor-nav-logo{ height:36px; width:auto; }

.gor-brand-title{
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  line-height:1;
  color:var(--gor-text);
}

/* menus centrais */
.gor-nav-center .nav-link{
  font-weight:700;
  opacity:1;
  color:var(--gor-text) !important;
  padding:.5rem .85rem;
  border-radius:999px;
  transition:background .15s ease, color .15s ease;
}

.gor-nav-center .nav-link:hover{
  background:#eef4fb;
  color:var(--gor-blue) !important;
}

.gor-nav-center .dropdown-menu{
  margin-top:.5rem;
  min-width:13rem;
  z-index:1310;
  border:1px solid var(--gor-border);
  border-radius:18px;
  box-shadow:var(--gor-shadow);
  padding:.55rem;
}

.gor-nav-center .dropdown-item{
  display:flex;
  align-items:center;
  gap:.55rem;
  font-weight:700;
  border-radius:12px;
  padding:.65rem .8rem;
  color:var(--gor-text);
}

.gor-nav-center .dropdown-item.active{
  background:rgba(2, 51, 115, .08);
  color:var(--gor-blue);
}

.gor-nav-center .nav-link.active{
  opacity:1;
  background:#eef4fb;
  color:var(--gor-blue) !important;
}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.5rem;
  min-height:46px;
  padding:.6rem 1rem;
  border-radius:14px;
  font-weight:700;
  transition:transform .12s ease, box-shadow .12s ease, background .12s ease, color .12s ease, border-color .12s ease;
}

.btn:hover{
  transform:translateY(-1px);
}

.btn-primary{
  border-color:var(--gor-blue);
  background:var(--gor-blue);
  box-shadow:0 12px 26px rgba(2, 51, 115, .18);
}

.btn-primary:hover,
.btn-primary:focus{
  border-color:var(--gor-blue-dark);
  background:var(--gor-blue-dark);
}

.btn-outline-primary{
  border-color:#b9cbe2;
  color:var(--gor-blue);
  background:#fff;
}

.btn-outline-primary:hover,
.btn-outline-primary:focus{
  border-color:#a6bedb;
  color:var(--gor-blue-dark);
  background:#eef4fb;
}

.btn-outline-secondary{
  border-color:#c9d5e3;
  color:var(--gor-text-soft);
  background:#fff;
}

.btn-outline-secondary:hover,
.btn-outline-secondary:focus{
  border-color:#b8c8da;
  color:var(--gor-text);
  background:#f7faff;
}

.btn-outline-danger{
  background:#fff;
}

.btn-warning{
  color:#3a2f00;
  background:#f7d75d;
  border-color:#f7d75d;
}

.btn-block{
  width:100%;
}

.form-control,
.custom-select,
textarea.form-control,
select.form-control{
  min-height:46px;
  border:1px solid #c9d5e3;
  border-radius:14px;
  background:#fff;
  color:var(--gor-text);
  box-shadow:none;
}

textarea.form-control{
  min-height:120px;
  padding-top:.85rem;
  padding-bottom:.85rem;
}

.form-control:focus,
.custom-select:focus,
textarea.form-control:focus,
select.form-control:focus{
  border-color:#8eb3df;
  box-shadow:0 0 0 4px rgba(2, 51, 115, .1);
}

label{
  color:var(--gor-text);
  font-weight:700;
}

.table{
  color:var(--gor-text);
}

.table thead th{
  border-top:0;
  border-bottom:1px solid var(--gor-border);
  color:var(--gor-text-soft);
  font-size:.88rem;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.table td,
.table th{
  vertical-align:middle;
}

.badge{
  border-radius:999px;
  font-weight:700;
}

@media (max-width: 991px){
  .content-wrap{
    padding-top:86px;
  }
}

@media (max-width: 767px){
  .hero{
    padding:20px !important;
    border-radius:18px;
  }

  .gor-page-head{
    padding:20px;
    border-radius:18px;
  }

  .btn{
    width:100%;
  }

  .gor-nav-center .dropdown-menu{
    min-width:100%;
  }
}

@media (max-width: 991px){
  html{
    scroll-padding-top:86px;
  }

  body{
    overflow-x:hidden;
  }

  img,
  iframe,
  video{
    max-width:100%;
  }

  .navbar.fixed-top{
    backdrop-filter:blur(12px);
  }

  .navbar.fixed-top .container{
    max-width:100%;
    padding-left:14px;
    padding-right:14px;
  }

  .navbar-brand{
    min-width:0;
    max-width:calc(100% - 58px);
    margin-right:8px;
  }

  .gor-nav-logo{
    height:32px;
    flex:0 0 auto;
  }

  .gor-brand-title{
    display:block;
    min-width:0;
    max-width:100%;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:.86rem;
    letter-spacing:.035em;
  }

  .navbar-toggler{
    width:44px;
    height:44px;
    padding:0;
    border-radius:14px;
    border-color:var(--gor-border);
  }

  .navbar-collapse{
    max-height:calc(100vh - 72px);
    overflow-y:auto;
    padding:12px 0 14px;
  }

  .gor-nav-center{
    align-items:stretch;
    gap:6px;
    margin:0 !important;
    padding:2px 0 10px;
  }

  .gor-nav-center .nav-link{
    display:flex;
    align-items:center;
    gap:10px;
    min-height:46px;
    padding:.72rem .9rem;
    border-radius:14px;
    background:#f7faff;
  }

  .gor-nav-center .dropdown-menu{
    position:static;
    float:none;
    width:100%;
    margin:.35rem 0 .65rem;
    border-radius:14px;
    box-shadow:none;
    background:#fff;
  }

  .gor-nav-center .dropdown-item{
    min-height:44px;
    white-space:normal;
  }

  .gor-nav-right{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
    padding-top:10px;
    border-top:1px solid var(--gor-border);
  }

  .gor-nav-right .btn{
    width:100%;
    margin-right:0 !important;
  }

  .content-wrap{
    max-width:100%;
    padding-left:14px;
    padding-right:14px;
  }

  .card,
  .hero,
  .gor-page-head{
    box-shadow:0 10px 24px rgba(10, 31, 68, .07);
  }

  .table-responsive,
  .gor-table-wrap{
    -webkit-overflow-scrolling:touch;
  }
}

@media (max-width: 767px){
  .content-wrap{
    padding-top:82px;
    padding-bottom:22px;
  }

  .hero,
  .gor-page-head,
  .card{
    border-radius:16px;
  }

  .hero,
  .gor-page-head{
    padding:18px !important;
  }

  .hero h1,
  .gor-page-head h1{
    font-size:1.72rem;
    line-height:1.08;
  }

  .hero h2,
  .gor-page-head h2{
    font-size:1.45rem;
    line-height:1.12;
  }

  .hero h3,
  .gor-page-head h3{
    font-size:1.28rem;
    line-height:1.15;
  }

  .hero p,
  .gor-page-head p{
    font-size:.98rem;
    line-height:1.45;
  }

  .gor-page-kicker,
  .hero .badge{
    max-width:100%;
    white-space:normal;
  }

  .gor-section-head{
    align-items:flex-start;
    gap:8px;
  }

  .gor-section-head > *{
    min-width:0;
  }

  .btn{
    min-height:48px;
    white-space:normal;
  }

  .btn-link{
    width:auto;
    min-height:44px;
  }

  .gor-stat-pills,
  .gor-page-actions{
    flex-direction:column;
  }

  .gor-stat-pill,
  .gor-page-actions .btn{
    width:100%;
    justify-content:center;
  }

  .form-control,
  .custom-select,
  textarea.form-control,
  select.form-control{
    font-size:16px;
  }

  .card.p-4,
  .card .card-body.p-4{
    padding:18px !important;
  }

  .d-flex.align-items-center.justify-content-between{
    align-items:flex-start !important;
    flex-direction:column;
    gap:6px;
  }
}

@media (max-width: 420px){
  .content-wrap{
    padding-left:10px;
    padding-right:10px;
  }

  .navbar.fixed-top .container{
    padding-left:10px;
    padding-right:10px;
  }

  .gor-brand-title{
    max-width:220px;
    font-size:.78rem;
    letter-spacing:.025em;
  }

  .gor-nav-logo{
    height:30px;
  }
}
