/* Executive Navy Component System */

.av-content > *{
  max-width:1600px!important;
}

section, .card, .panel, .module, .widget{
  margin-bottom:22px!important;
}

.card,.panel,.module,.widget,.priority-panel{
  padding:22px!important;
}

.card h2,.panel h2,.module h2,.widget h2,.priority-panel h2{
  margin-top:0!important;
  margin-bottom:16px!important;
  font-size:20px!important;
  color:#06162a!important;
}

.grid,.cards,.stats,.kpi-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr))!important;
  gap:18px!important;
}

button,.btn,a.button,input[type="submit"]{
  background:#0b3a5d!important;
  color:#fff!important;
  border:1px solid #0b3a5d!important;
  padding:10px 15px!important;
  border-radius:999px!important;
  font-weight:700!important;
  cursor:pointer!important;
  text-decoration:none!important;
}

button:hover,.btn:hover,a.button:hover,input[type="submit"]:hover{
  background:#08243a!important;
}

input,select,textarea{
  background:#fff!important;
  border:1px solid #d8e0ea!important;
  border-radius:12px!important;
  padding:11px 12px!important;
  color:#06162a!important;
}

.status-pill,.badge,.pill{
  background:#f4f6f9!important;
  color:#0b3a5d!important;
  border:1px solid #d8e0ea!important;
}

table tbody tr:nth-child(even){
  background:#f8fafc!important;
}

table tbody tr:hover{
  background:#eef6fb!important;
}

.av-topbar .status-pill{
  background:#ecfdf5!important;
  color:#059669!important;
  border-color:#bbf7d0!important;
}

.old-shell,.legacy-shell{
  background:transparent!important;
}

@media(max-width:900px){
  .av-main{
    padding:18px!important;
  }
  .av-topbar{
    align-items:flex-start!important;
    flex-direction:column!important;
  }
}

button[disabled], .btn-disabled{
  opacity:.55!important;
  cursor:not-allowed!important;
  background:#94a3b8!important;
  border-color:#94a3b8!important;
}
.action-note{
  margin-top:10px;
  color:#52647a;
  font-size:13px;
}

/* =========================================
   PREMIUM POLISH LAYER
========================================= */

body{
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

.av-sidebar{
  border-right:1px solid rgba(255,255,255,.06);
  backdrop-filter:blur(10px);
}

.av-brand{
  font-size:20px;
  letter-spacing:-.04em;
}

.av-nav a{
  transition:all .18s ease;
  font-weight:600;
}

.av-nav a:hover{
  transform:translateX(2px);
}

.av-topbar{
  backdrop-filter:blur(10px);
}

.card,
.panel,
.module,
.widget,
.priority-panel{
  transition:
    transform .18s ease,
    box-shadow .18s ease,
    border-color .18s ease;
}

.card:hover,
.panel:hover,
.module:hover,
.widget:hover,
.priority-panel:hover{
  transform:translateY(-2px);
  box-shadow:0 20px 44px rgba(15,23,42,.08)!important;
}

.grid{
  gap:22px!important;
}

.card h1{
  font-size:40px!important;
  line-height:1!important;
  margin:.35rem 0 .55rem!important;
  letter-spacing:-.05em!important;
}

.card p{
  line-height:1.55!important;
}

table{
  overflow:hidden;
  border-radius:14px;
}

thead{
  position:sticky;
  top:0;
}

tbody tr{
  transition:background .15s ease;
}

tbody tr:hover{
  background:#f2f7fb!important;
}

td{
  vertical-align:middle!important;
}

button,
.btn{
  transition:
    background .18s ease,
    transform .15s ease,
    box-shadow .18s ease;
}

button:hover,
.btn:hover{
  transform:translateY(-1px);
  box-shadow:0 10px 22px rgba(11,58,93,.18);
}

.priority-item{
  min-height:52px!important;
  font-weight:500;
}

.status-pill{
  font-weight:700!important;
  letter-spacing:.01em;
}

@media(max-width:900px){

  .grid{
    grid-template-columns:1fr!important;
  }

  .exec-two-col{
    grid-template-columns:1fr!important;
  }

  .card h1{
    font-size:32px!important;
  }

  table{
    display:block;
    overflow:auto;
  }
}

/* LIVE STATE POLISH */
.live-dot{
  width:8px;
  height:8px;
  border-radius:50%;
  background:#059669;
  display:inline-block;
  margin-right:8px;
  box-shadow:0 0 0 4px rgba(5,150,105,.12);
}

.empty-state{
  padding:28px;
  border:1px dashed #cbd5e1;
  border-radius:16px;
  background:#f8fafc;
  color:#52647a;
}

.metric-label{
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:#64748b;
  font-weight:800;
}

/* =========================================
   PRIORITIES POLISH
========================================= */

.priority-panel{
  padding:28px!important;
}

.priority-panel h2{
  font-size:18px!important;
  font-weight:800!important;
  letter-spacing:-.03em;
  margin-bottom:18px!important;
}

.priority-panel .eyebrow{
  font-size:11px!important;
  text-transform:uppercase;
  letter-spacing:.14em;
  color:#64748b;
  font-weight:800;
  margin-bottom:10px;
}

.priority-list{
  display:flex;
  flex-direction:column;
  gap:14px;
  margin-top:18px;
}

.priority-item{
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:62px!important;
  padding:0 18px!important;
  background:#f8fafc!important;
  border:1px solid #e2e8f0!important;
  border-radius:14px!important;
  font-size:15px!important;
  font-weight:600!important;
}

.priority-item:hover{
  background:#f1f5f9!important;
}

.priority-live{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:13px;
  font-weight:700;
  color:#059669;
  margin-bottom:10px;
}

.priority-live-dot{
  width:8px;
  height:8px;
  border-radius:50%;
  background:#10b981;
  box-shadow:0 0 0 4px rgba(16,185,129,.12);
}

table td{
  padding:18px 14px!important;
}

table th{
  padding:18px 14px!important;
}

.status-pill{
  padding:8px 12px!important;
  border-radius:999px!important;
}

.card{
  border:1px solid rgba(15,23,42,.06)!important;
}
