
/* V439A - Agency Network Pro */

/* ===== Desktop: minimum 14px in Agency areas ===== */
@media(min-width:761px){
  .v439-agency-health,
  .v439-agency-health *,
  .v439-agency-orders,
  .v439-agency-orders *,
  .v439-agency-directory,
  .v439-agency-directory *,
  .v439-agency-dialog,
  .v439-agency-dialog *,
  .v439-agency-management-fields,
  .v439-agency-management-fields *,
  .v328-agency-app,
  .v328-agency-app *{
    font-size:14px!important;
  }

  .v439-section-head h2{font-size:18px!important}
  .v439-section-head>div>span{font-size:14px!important}
  .v439-section-head>small{font-size:14px!important}
  .v439-agency-kpis b{font-size:26px!important}
  .v439-agency-performance b{font-size:20px!important}
  .v439-order-top>div>strong{font-size:16px!important}
  .v328-agency-app h1{font-size:26px!important}
  .v328-agency-app h2{font-size:20px!important}
  .v328-agency-app h3{font-size:17px!important}
}

/* ===== Internal Agency management ===== */
.v439-agency-health,
.v439-agency-orders,
.v439-agency-directory{
  margin-top:12px;
  padding:14px;
  border:1px solid var(--border);
  border-radius:12px;
  background:var(--card);
}
.v439-section-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
  margin-bottom:11px;
}
.v439-section-head>div>span{
  display:block;
  font-size:9px;
  font-weight:800;
  letter-spacing:.08em;
  color:var(--muted-foreground);
}
.v439-section-head h2{
  margin:3px 0 0;
  font-size:15px;
}
.v439-section-head>small{
  max-width:520px;
  text-align:right;
  font-size:9px;
  color:var(--muted-foreground);
}
.v439-section-head select{
  min-width:210px;
  height:38px;
  padding:0 9px;
  border:1px solid var(--border);
  border-radius:8px;
  background:var(--background);
  color:var(--foreground);
}

.v439-agency-kpis{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:8px;
}
.v439-agency-kpis article,
.v439-agency-performance article{
  min-width:0;
  position:relative;
  padding:11px;
  border:1px solid var(--border);
  border-radius:9px;
  background:var(--background);
}
.v439-agency-kpis article{
  min-height:104px;
}
.v439-agency-kpis article:after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:0;height:3px;
  background:#64748b;
}
.v439-agency-kpis article:nth-child(2):after{background:#16a34a}
.v439-agency-kpis article:nth-child(3):after{background:#f59e0b}
.v439-agency-kpis article:nth-child(4):after{background:#2563eb}
.v439-agency-kpis article:nth-child(5):after{background:#7c3aed}
.v439-agency-kpis span,
.v439-agency-performance>article>span{
  display:block;
  font-weight:750;
  color:var(--muted-foreground);
}
.v439-agency-kpis b{
  display:block;
  margin-top:7px;
  font-size:22px;
  line-height:1.05;
}
.v439-agency-kpis small,
.v439-agency-performance small{
  display:block;
  margin-top:6px;
  color:var(--muted-foreground);
  line-height:1.35;
}

.v439-agency-chart{
  margin-top:10px;
  padding:11px;
  border:1px solid var(--border);
  border-radius:9px;
  background:var(--background);
}
.v439-agency-chart>div:first-child{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:8px;
}
.v439-agency-chart>div:first-child small{color:var(--muted-foreground)}
.v439-bars{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:8px;
}
.v439-bars>div>div{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:6px;
}
.v439-bars i{
  display:block;
  height:8px;
  margin-top:5px;
  border-radius:999px;
  overflow:hidden;
  background:var(--muted);
}
.v439-bars em{
  display:block;
  height:100%;
  min-width:0;
  border-radius:999px;
}
.v439-bars em.new{background:#64748b}
.v439-bars em.review{background:#f59e0b}
.v439-bars em.ready{background:#2563eb}
.v439-bars em.done{background:#16a34a}
.v439-bars em.reject{background:#dc2626}

.v439-agency-performance{
  display:grid;
  grid-template-columns:1fr 1fr 1.3fr;
  gap:8px;
  margin-top:10px;
}
.v439-agency-performance article{
  min-height:112px;
}
.v439-agency-performance b{
  display:block;
  margin-top:7px;
  font-variant-numeric:tabular-nums;
}
.v439-top-agencies>div{
  display:flex;
  flex-direction:column;
  gap:4px;
  margin-top:6px;
}
.v439-top-agencies>div>div{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  border-top:1px solid var(--border);
  padding-top:4px;
}
.v439-top-agencies>div>div:first-child{border-top:0}
.v439-top-agencies small{margin:0}

.v439-order-list{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.v439-order-card{
  padding:11px;
  border:1px solid var(--border);
  border-radius:10px;
  background:var(--background);
}
.v439-order-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.v439-order-top>div>strong{
  display:block;
  font-size:14px;
}
.v439-order-top>div>small{
  display:block;
  margin-top:3px;
  color:var(--muted-foreground);
}
.v439-order-top .status{
  display:inline-flex;
  align-items:center;
  padding:4px 8px;
  border-radius:999px;
  font-weight:700;
  white-space:nowrap;
  background:var(--muted);
}
.v439-order-top .status.agency_new{color:#475569}
.v439-order-top .status.reviewing{background:#fef3c7;color:#b45309}
.v439-order-top .status.ready{background:#dbeafe;color:#1d4ed8}
.v439-order-top .status.converted{background:#dcfce7;color:#15803d}
.v439-order-top .status.rejected{background:#fee2e2;color:#b91c1c}

.v439-order-data{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:6px;
  margin-top:9px;
}
.v439-order-data>div{
  padding:8px;
  border:1px solid var(--border);
  border-radius:8px;
}
.v439-order-data span{
  display:block;
  color:var(--muted-foreground);
}
.v439-order-data b,
.v439-order-data a{
  display:block;
  margin-top:3px;
  font-weight:750;
}
.v439-order-lines{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:5px 12px;
  margin-top:8px;
  padding:8px;
  border-radius:8px;
  background:color-mix(in srgb,var(--muted) 45%,transparent);
}
.v439-order-lines>div{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
}
.v439-order-lines span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v439-order-lines b{white-space:nowrap}
.v439-order-actions{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:9px;
}
.v439-order-actions button,
.v439-official-link{
  min-height:34px;
}
.v439-official-link{
  display:inline-flex;
  align-items:center;
  padding:0 10px;
  border:1px solid #86efac;
  border-radius:7px;
  color:#15803d;
  text-decoration:none;
  font-weight:700;
}
.v439-empty{
  padding:24px 10px;
  text-align:center;
  color:var(--muted-foreground);
}

/* Directory */
.v439-agency-directory{
  padding:14px;
}
.v439-agency-directory>section{
  margin-top:0!important;
}
.v439-agency-table{
  min-width:1060px;
}
.v439-agency-table th,
.v439-agency-table td{
  font-size:14px!important;
}
.v439-agency-meta{
  display:block;
  margin-top:4px;
  font-size:14px!important;
  color:var(--muted-foreground);
  line-height:1.35;
}

/* Dialog */
.v439-agency-dialog{
  width:min(1080px,calc(100vw - 32px))!important;
  max-width:1080px!important;
  max-height:92vh!important;
  overflow-y:auto!important;
}
.v439-agency-dialog input,
.v439-agency-dialog select,
.v439-agency-dialog button{
  min-height:40px;
}
.v439-agency-management-fields{
  padding:11px;
  border:1px solid var(--border);
  border-radius:9px;
  background:color-mix(in srgb,var(--muted) 25%,transparent);
}
.v439-agency-management-fields label{
  display:flex;
  flex-direction:column;
  gap:5px;
}
.v439-agency-management-fields label>span{
  font-weight:650;
}
.v439-agency-management-fields select{
  width:100%;
  min-width:0;
  height:40px;
  padding:0 9px;
  border:1px solid var(--border);
  border-radius:7px;
  background:var(--background);
  color:var(--foreground);
}

/* Manual route protection */
.v439-forbidden{
  max-width:560px;
  margin:60px auto;
  padding:22px;
  border:1px solid var(--border);
  border-radius:12px;
  background:var(--card);
  text-align:center;
}
.v439-forbidden h2{font-size:18px}
.v439-forbidden p{margin:8px 0 14px;color:var(--muted-foreground)}
.v439-forbidden a{font-weight:700;color:var(--brand-green)}

/* Agency portal staging status */
.v439-waiting-invoice{
  color:var(--muted-foreground);
  font-weight:650;
}
.v439-portal-status.agency_new{background:#f1f5f9;color:#475569}
.v439-portal-status.reviewing{background:#fef3c7;color:#b45309}
.v439-portal-status.ready{background:#dbeafe;color:#1d4ed8}
.v439-portal-status.converted{background:#dcfce7;color:#15803d}
.v439-portal-status.rejected{background:#fee2e2;color:#b91c1c}

/* ===== Mobile ===== */
@media(max-width:760px){
  .v439-agency-health,
  .v439-agency-orders,
  .v439-agency-directory{
    margin-top:8px;
    padding:10px;
    border-radius:12px;
  }
  .v439-section-head{
    flex-direction:column;
    align-items:stretch;
    gap:6px;
    margin-bottom:8px;
  }
  .v439-section-head>div>span{font-size:9px}
  .v439-section-head h2{font-size:15px}
  .v439-section-head>small{
    max-width:none;
    text-align:left;
    font-size:11px;
    line-height:1.4;
  }
  .v439-section-head select{
    width:100%;
    min-width:0;
    height:42px;
    font-size:12px;
  }

  .v439-agency-kpis{
    grid-template-columns:1fr 1fr;
    gap:7px;
  }
  .v439-agency-kpis article{
    min-height:92px;
    padding:9px;
    border-radius:10px;
  }
  .v439-agency-kpis article:first-child{
    grid-column:1/-1;
  }
  .v439-agency-kpis span{font-size:10px}
  .v439-agency-kpis b{font-size:21px}
  .v439-agency-kpis small{font-size:9px}

  .v439-agency-chart{
    padding:9px;
    border-radius:10px;
  }
  .v439-agency-chart>div:first-child{
    align-items:flex-start;
    flex-direction:column;
    gap:3px;
  }
  .v439-agency-chart strong{font-size:12px}
  .v439-agency-chart small{font-size:10px}
  .v439-bars{
    grid-template-columns:1fr;
    gap:7px;
  }
  .v439-bars>div>div{font-size:10px}
  .v439-bars i{height:7px}

  .v439-agency-performance{
    grid-template-columns:1fr;
    gap:7px;
  }
  .v439-agency-performance article{
    min-height:auto;
    padding:10px;
    border-radius:10px;
  }
  .v439-agency-performance>article>span{font-size:10px}
  .v439-agency-performance b{font-size:17px}
  .v439-agency-performance small{font-size:9px}
  .v439-top-agencies>div>div{
    align-items:flex-start;
  }

  .v439-order-card{
    padding:10px;
    border-radius:12px;
  }
  .v439-order-top{
    gap:8px;
  }
  .v439-order-top>div>strong{font-size:13px}
  .v439-order-top>div>small{font-size:10px;line-height:1.35}
  .v439-order-top .status{
    padding:4px 6px;
    font-size:9px;
  }
  .v439-order-data{
    grid-template-columns:1fr 1fr;
    gap:6px;
  }
  .v439-order-data>div{
    min-height:70px;
    padding:8px;
  }
  .v439-order-data span{font-size:9px}
  .v439-order-data b,
  .v439-order-data a{font-size:11px;overflow-wrap:anywhere}
  .v439-order-lines{
    grid-template-columns:1fr;
    gap:5px;
    padding:8px;
  }
  .v439-order-lines span,
  .v439-order-lines b{font-size:10px}
  .v439-order-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:6px;
  }
  .v439-order-actions button,
  .v439-official-link{
    width:100%;
    min-height:42px!important;
    justify-content:center;
    font-size:10px!important;
  }

  /* Directory table -> mobile cards */
  .v439-agency-directory>section{
    border:0!important;
    background:transparent!important;
    overflow:visible!important;
  }
  .v439-agency-directory table,
  .v439-agency-directory tbody{
    display:block!important;
    width:100%!important;
    min-width:0!important;
  }
  .v439-agency-directory thead{display:none!important}
  .v439-agency-directory tr{
    display:grid!important;
    grid-template-columns:1fr auto!important;
    gap:0!important;
    margin-bottom:8px;
    border:1px solid var(--border)!important;
    border-radius:12px;
    overflow:hidden;
    background:var(--background);
  }
  .v439-agency-directory td{
    display:block!important;
    padding:9px!important;
    font-size:11px!important;
  }
  .v439-agency-directory td:nth-child(1){grid-column:1/2}
  .v439-agency-directory td:nth-child(2){grid-column:1/2;padding-top:0!important}
  .v439-agency-directory td:nth-child(3){display:none!important}
  .v439-agency-directory td:nth-child(4){grid-column:1/-1;border-top:1px solid var(--border)}
  .v439-agency-directory td:nth-child(5){grid-column:2/3;grid-row:1/3}
  .v439-agency-directory td:nth-child(6){grid-column:1/-1;border-top:1px solid var(--border)}
  .v439-agency-directory td:nth-child(6)>div{
    display:grid!important;
    grid-template-columns:repeat(3,1fr)!important;
    gap:6px!important;
  }
  .v439-agency-directory td:nth-child(6) button{
    width:100%!important;
    min-height:40px!important;
    font-size:10px!important;
  }
  .v439-agency-meta{font-size:10px!important}

  .v439-agency-dialog{
    width:calc(100vw - 10px)!important;
    max-width:none!important;
    max-height:96vh!important;
    padding:10px!important;
    border-radius:14px!important;
  }
  .v439-agency-dialog input,
  .v439-agency-dialog select,
  .v439-agency-dialog button{
    min-height:42px!important;
    font-size:11px!important;
  }
  .v439-agency-dialog label,
  .v439-agency-dialog p,
  .v439-agency-dialog span{
    font-size:10px;
  }
  .v439-agency-management-fields{
    padding:9px;
    border-radius:10px;
  }
  .v439-agency-management-fields .grid{
    grid-template-columns:1fr!important;
    gap:8px!important;
  }

  /* Agency portal */
  .v328-agency-app{
    padding:8px!important;
  }
  .v328-agency-header{
    border-radius:12px!important;
  }
  .v328-agency-header h1{font-size:19px!important}
  .v328-agency-header p{font-size:11px!important}
  .v331-agency-tabs{
    display:grid!important;
    grid-template-columns:1fr 1fr 1fr!important;
    gap:5px!important;
  }
  .v331-agency-tabs button{
    min-height:42px!important;
    padding:6px!important;
    font-size:10px!important;
    white-space:normal!important;
  }
  .v328-order-card{
    border-radius:11px!important;
    padding:10px!important;
  }
  .v328-order-card strong{font-size:12px!important}
  .v328-order-card small{font-size:9px!important;line-height:1.4!important}
  .v331-order-statuses{
    flex-wrap:wrap!important;
    gap:5px!important;
  }
  .v331-order-statuses span{font-size:9px!important}
  .v331-order-money b{font-size:15px!important}
  .v331-order-money small{font-size:9px!important}
}

@media(max-width:390px){
  .v439-agency-kpis,
  .v439-order-data,
  .v439-order-actions{
    grid-template-columns:1fr!important;
  }
  .v439-agency-kpis article:first-child{
    grid-column:auto;
  }
  .v331-agency-tabs{
    grid-template-columns:1fr!important;
  }
}
