/* PhotoSales Studio Design System 1.0 — Sprint 4.7.5.1 */
.pss-admin-context{
  --pss-color-primary:#2563eb;
  --pss-color-primary-soft:#eff6ff;
  --pss-color-success:#15803d;
  --pss-color-success-soft:#dcfce7;
  --pss-color-warning:#a16207;
  --pss-color-warning-soft:#fef3c7;
  --pss-color-danger:#b91c1c;
  --pss-color-danger-soft:#fee2e2;
  --pss-color-info:#0369a1;
  --pss-color-info-soft:#e0f2fe;
  --pss-color-text:#0f172a;
  --pss-color-muted:#64748b;
  --pss-color-border:#dbe3ef;
  --pss-color-surface:#ffffff;
  --pss-color-surface-soft:#f8fafc;
  --pss-radius-sm:10px;
  --pss-radius-md:14px;
  --pss-radius-lg:16px;
  --pss-shadow-card:0 10px 30px rgba(15,23,42,.06);
  --pss-space-1:6px;
  --pss-space-2:10px;
  --pss-space-3:14px;
  --pss-space-4:18px;
  --pss-space-5:24px;
}

/* Common surfaces and section rhythm */
.pss-admin-context .admin-main{color:var(--pss-color-text)}
.pss-admin-context .admin-card,
.pss-admin-context .pss-card,
.pss-admin-context .pss-bi-panel,
.pss-admin-context .pss-alerts-panel,
.pss-admin-context .pss-forecast-card,
.pss-admin-context .pss-recommendations-panel,
.pss-admin-context .pss-crm-profile{
  border:1px solid var(--pss-color-border);
  border-radius:var(--pss-radius-lg);
  background:var(--pss-color-surface);
  box-shadow:var(--pss-shadow-card);
}
.pss-admin-context .admin-card{margin-bottom:var(--pss-space-5)}
.pss-admin-context .admin-card>.card-head,
.pss-admin-context .pss-section-head{
  display:flex;align-items:flex-start;justify-content:space-between;gap:var(--pss-space-3);margin-bottom:var(--pss-space-4)
}
.pss-admin-context .admin-card>.card-head h2,
.pss-admin-context .admin-card>.card-head h3,
.pss-admin-context .pss-section-head h2,
.pss-admin-context .pss-section-head h3{margin:0;color:var(--pss-color-text);line-height:1.25}
.pss-admin-context .admin-card>.card-head p,
.pss-admin-context .pss-section-head p{margin:5px 0 0;color:var(--pss-color-muted)}

/* KPI cards */
.pss-admin-context .stats-grid,
.pss-admin-context .dashboard-stats,
.pss-admin-context .pss-kpi-grid{align-items:stretch;gap:var(--pss-space-3)}
.pss-admin-context .stats-grid>*,
.pss-admin-context .dashboard-stats>*,
.pss-admin-context .pss-kpi-card{
  min-height:112px;
  height:100%;
  border:1px solid var(--pss-color-border);
  border-radius:var(--pss-radius-md);
  background:var(--pss-color-surface-soft);
  padding:var(--pss-space-3);
  box-sizing:border-box;
}
.pss-admin-context .stats-grid small,
.pss-admin-context .dashboard-stats small,
.pss-admin-context .pss-kpi-card small{color:var(--pss-color-muted);font-weight:700}
.pss-admin-context .stats-grid strong,
.pss-admin-context .dashboard-stats strong,
.pss-admin-context .pss-kpi-card strong{color:var(--pss-color-text);line-height:1.15}

/* Buttons: same geometry, intent remains compatible with legacy .btn */
.pss-admin-context .btn,
.pss-admin-context .pss-button{
  min-height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  padding:9px 14px;
  border-radius:var(--pss-radius-sm);
  font-weight:750;
  line-height:1.15;
  text-decoration:none;
  box-sizing:border-box;
  transition:transform .15s ease,box-shadow .15s ease,filter .15s ease;
}
.pss-admin-context .btn:hover,
.pss-admin-context .pss-button:hover{transform:translateY(-1px);box-shadow:0 7px 18px rgba(15,23,42,.10)}
.pss-admin-context .btn:focus-visible,
.pss-admin-context .pss-button:focus-visible{outline:3px solid rgba(37,99,235,.28);outline-offset:2px}
.pss-admin-context .btn.light,
.pss-admin-context .pss-button-secondary{background:var(--pss-color-surface);color:#1e40af;border:1px solid #bfdbfe}
.pss-admin-context .pss-button-success{background:var(--pss-color-success);color:#fff;border:1px solid var(--pss-color-success)}
.pss-admin-context .pss-button-warning{background:var(--pss-color-warning);color:#fff;border:1px solid var(--pss-color-warning)}
.pss-admin-context .pss-button-danger{background:var(--pss-color-danger);color:#fff;border:1px solid var(--pss-color-danger)}

/* Forms and filters */
.pss-admin-context input:not([type=checkbox]):not([type=radio]):not([type=hidden]),
.pss-admin-context select,
.pss-admin-context textarea{
  min-height:44px;
  border:1px solid #cbd5e1;
  border-radius:var(--pss-radius-sm);
  background:#fff;
  color:var(--pss-color-text);
  padding:10px 12px;
  box-sizing:border-box;
}
.pss-admin-context textarea{min-height:112px;resize:vertical}
.pss-admin-context input:focus,
.pss-admin-context select:focus,
.pss-admin-context textarea:focus{border-color:#60a5fa;outline:3px solid rgba(96,165,250,.18)}
.pss-admin-context label{color:#334155}
.pss-admin-context .pss-crm-filter,
.pss-admin-context .pss-filter-bar{
  gap:var(--pss-space-2);
  padding:var(--pss-space-3);
  border:1px solid var(--pss-color-border);
  border-radius:var(--pss-radius-md);
  background:var(--pss-color-surface-soft)
}

/* Tables */
.pss-admin-context .admin-table-wrap{border:1px solid var(--pss-color-border);border-radius:var(--pss-radius-md);overflow:auto;background:#fff}
.pss-admin-context .admin-table{width:100%;border-collapse:separate;border-spacing:0}
.pss-admin-context .admin-table thead th{position:sticky;top:0;z-index:1;background:#f1f5f9;color:#334155;font-size:.78rem;letter-spacing:.02em;text-transform:uppercase;padding:12px 14px;border-bottom:1px solid var(--pss-color-border)}
.pss-admin-context .admin-table tbody td{padding:13px 14px;border-bottom:1px solid #e8edf4;vertical-align:middle}
.pss-admin-context .admin-table tbody tr:last-child td{border-bottom:0}
.pss-admin-context .admin-table tbody tr:hover td{background:#f8fbff}

/* Status and score badges */
.pss-admin-context .pss-crm-badge,
.pss-admin-context .pss-status{
  min-height:28px;display:inline-flex;align-items:center;padding:5px 10px;border-radius:999px;font-size:.78rem;font-weight:800;white-space:nowrap
}
.pss-admin-context .pss-crm-badge.is-new,.pss-admin-context .pss-status-info{background:var(--pss-color-info-soft);color:var(--pss-color-info)}
.pss-admin-context .pss-crm-badge.is-returning{background:#ede9fe;color:#6d28d9}
.pss-admin-context .pss-crm-badge.is-vip,.pss-admin-context .pss-status-warning{background:var(--pss-color-warning-soft);color:#92400e}
.pss-admin-context .pss-status-success{background:var(--pss-color-success-soft);color:#166534}
.pss-admin-context .pss-status-danger{background:var(--pss-color-danger-soft);color:#991b1b}

/* CRM and BI alignment */
.pss-admin-context .pss-crm-profile-grid>div,
.pss-admin-context .pss-bi-ranking>div,
.pss-admin-context .pss-alert-summary a,
.pss-admin-context .pss-alert-lists article,
.pss-admin-context .pss-recommendation-list a{
  border-color:var(--pss-color-border);
  border-radius:var(--pss-radius-md);
  background:var(--pss-color-surface-soft)
}
.pss-admin-context .pss-crm-editor,
.pss-admin-context .pss-crm-timeline{border-color:var(--pss-color-border);border-radius:var(--pss-radius-md);background:var(--pss-color-surface-soft)}
.pss-admin-context .pss-bi-grid,
.pss-admin-context .pss-forecast-grid{gap:var(--pss-space-4)}
.pss-admin-context .pss-bi-panel,
.pss-admin-context .pss-alerts-panel,
.pss-admin-context .pss-forecast-card,
.pss-admin-context .pss-recommendations-panel{padding:var(--pss-space-4)}
.pss-admin-context .pss-bi-note{border:1px solid #bfdbfe;border-radius:var(--pss-radius-md)}

/* Mobile standards */
@media(max-width:760px){
  .pss-admin-context .admin-card{margin-bottom:var(--pss-space-4)}
  .pss-admin-context .admin-card>.card-head,.pss-admin-context .pss-section-head{flex-direction:column}
  .pss-admin-context .stats-grid>*,.pss-admin-context .dashboard-stats>*,.pss-admin-context .pss-kpi-card{min-height:96px}
  .pss-admin-context .btn,.pss-admin-context .pss-button{min-height:44px}
  .pss-admin-context .admin-table thead th,.pss-admin-context .admin-table tbody td{padding:11px 12px}
}
@media(max-width:520px){
  .pss-admin-context .pss-crm-quick-actions .btn,
  .pss-admin-context .pss-crm-editor .btn,
  .pss-admin-context .pss-filter-bar .btn{width:100%}
}


/* Sprint 4.7.5.2 — Dashboard hierarchy and visual rhythm */
.pss-admin-context #dashboard{
  --pss-dashboard-gap:24px;
}
.pss-admin-context #dashboard>.admin-card,
.pss-admin-context #dashboard>.pss-dashboard-primary-stats,
.pss-admin-context #dashboard>.pss-dashboard-money-row,
.pss-admin-context #dashboard>.pss-dashboard-panels,
.pss-admin-context #dashboard>.dashboard-panels{
  margin-bottom:var(--pss-dashboard-gap);
}
.pss-admin-context .pss-dashboard-section-heading{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  margin:34px 2px 14px;
  padding-top:20px;
  border-top:1px solid var(--pss-color-border);
}
.pss-admin-context .pss-dashboard-section-heading.is-first{
  margin-top:24px;
  padding-top:0;
  border-top:0;
}
.pss-admin-context .pss-dashboard-section-heading>div{
  display:flex;
  align-items:center;
  gap:10px;
}
.pss-admin-context .pss-dashboard-section-heading span{
  min-width:34px;
  height:28px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:var(--pss-color-primary-soft);
  color:#1d4ed8;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.06em;
}
.pss-admin-context .pss-dashboard-section-heading strong{
  color:var(--pss-color-text);
  font-size:1.02rem;
  letter-spacing:-.01em;
}
.pss-admin-context .pss-dashboard-section-heading p{
  max-width:560px;
  margin:0;
  color:var(--pss-color-muted);
  font-size:.88rem;
  text-align:right;
}
.pss-admin-context #dashboard .pss-dashboard-primary-stats,
.pss-admin-context #dashboard .pss-dashboard-money-row,
.pss-admin-context #dashboard .pss-dashboard-panels,
.pss-admin-context #dashboard .dashboard-panels{
  align-items:stretch;
}
.pss-admin-context #dashboard .pss-live-card,
.pss-admin-context #dashboard .pss-money-card,
.pss-admin-context #dashboard .pss-dashboard-panel,
.pss-admin-context #dashboard .mini-panel{
  height:100%;
  box-sizing:border-box;
}
.pss-admin-context #dashboard .pss-dashboard-quick-actions{
  margin-top:0;
}
.pss-admin-context #dashboard .pss-quick-action-card{
  min-height:118px;
  box-sizing:border-box;
}
.pss-admin-context #dashboard .compact-row{
  min-height:58px;
}
.pss-admin-context #dashboard #system-health .health-grid span{
  min-height:52px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
@media(max-width:760px){
  .pss-admin-context .pss-dashboard-section-heading{
    align-items:flex-start;
    flex-direction:column;
    gap:7px;
    margin-top:28px;
  }
  .pss-admin-context .pss-dashboard-section-heading p{
    max-width:none;
    text-align:left;
  }
  .pss-admin-context #dashboard .pss-quick-action-card{
    min-height:102px;
  }
}

/* Sprint 4.7.5.3 — CRM & Business Intelligence professional polish */
.pss-admin-context .pss-crm-center>.card-head,
.pss-admin-context .pss-bi-dashboard>.card-head{
  margin-bottom:var(--pss-space-4);
  padding-bottom:var(--pss-space-3);
  border-bottom:1px solid var(--pss-color-border);
}
.pss-admin-context .pss-crm-stats,
.pss-admin-context .pss-bi-kpis{
  margin-top:0;
  margin-bottom:var(--pss-space-4);
}
.pss-admin-context .pss-crm-filter{
  margin:0 0 var(--pss-space-4);
  align-items:flex-end;
}
.pss-admin-context .pss-crm-filter input,
.pss-admin-context .pss-crm-filter select{
  min-width:190px;
}
.pss-admin-context .pss-crm-filter .btn{
  flex:0 0 auto;
}
.pss-admin-context .pss-crm-profile{
  margin:0 0 var(--pss-space-4);
  padding:var(--pss-space-4);
  border-color:var(--pss-color-border);
  border-radius:var(--pss-radius-lg);
  box-shadow:var(--pss-shadow-sm);
}
.pss-admin-context .pss-crm-profile-head{
  padding-bottom:var(--pss-space-3);
  border-bottom:1px solid var(--pss-color-border);
}
.pss-admin-context .pss-crm-profile-head p{
  margin:6px 0 0;
  color:var(--pss-color-muted);
  overflow-wrap:anywhere;
}
.pss-admin-context .pss-crm-profile-status{
  min-width:250px;
}
.pss-admin-context .pss-crm-profile-grid>div{
  min-height:84px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.pss-admin-context .pss-crm-profile-grid strong{
  overflow-wrap:anywhere;
}
.pss-admin-context .pss-crm-quick-actions{
  padding:var(--pss-space-3) 0;
  margin:0;
}
.pss-admin-context .pss-crm-detail-columns{
  align-items:start;
  gap:var(--pss-space-4);
  margin-top:0;
}
.pss-admin-context .pss-crm-editor,
.pss-admin-context .pss-crm-timeline{
  padding:var(--pss-space-4);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.75);
}
.pss-admin-context .pss-crm-editor h4,
.pss-admin-context .pss-crm-timeline h4{
  padding-bottom:10px;
  border-bottom:1px solid var(--pss-color-border);
}
.pss-admin-context .pss-crm-tag-options label{
  min-height:36px;
  display:inline-flex;
  align-items:center;
  cursor:pointer;
  transition:border-color .15s ease,background .15s ease;
}
.pss-admin-context .pss-crm-tag-options label:hover{
  border-color:#93c5fd;
  background:#eff6ff;
}
.pss-admin-context .pss-crm-timeline-item{
  border-radius:var(--pss-radius-sm);
  padding:12px;
  border-bottom:0;
}
.pss-admin-context .pss-crm-timeline-item:nth-child(even){background:rgba(255,255,255,.72)}
.pss-admin-context .pss-crm-order-links a{
  min-height:34px;
  display:inline-flex;
  align-items:center;
  text-decoration:none;
}
.pss-admin-context .pss-crm-table td:first-child strong{
  display:block;
  max-width:260px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.pss-admin-context .pss-score-breakdown{
  margin:0 0 var(--pss-space-4);
  padding:var(--pss-space-3);
}
.pss-admin-context .pss-score-breakdown span{
  min-height:38px;
  align-items:center;
  padding:7px 9px;
  border-radius:var(--pss-radius-sm);
  background:#fff;
}

.pss-admin-context .pss-alerts-panel{
  margin:0 0 var(--pss-space-4);
  border-radius:var(--pss-radius-lg);
}
.pss-admin-context .pss-alert-summary a{
  min-height:92px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease;
}
.pss-admin-context .pss-alert-summary a:hover{
  transform:translateY(-1px);
  border-color:#93c5fd;
  box-shadow:var(--pss-shadow-sm);
}
.pss-admin-context .pss-alert-lists article{
  min-width:0;
  height:100%;
}
.pss-admin-context .pss-alert-lists a{
  border-radius:8px;
  padding:10px 8px;
  margin:0 -8px;
}
.pss-admin-context .pss-alert-lists a:hover{background:#fff}
.pss-admin-context .pss-alert-lists a strong,
.pss-admin-context .pss-alert-lists a span{overflow-wrap:anywhere}
.pss-admin-context .pss-bi-grid{
  align-items:stretch;
  margin-top:0;
  margin-bottom:var(--pss-space-4);
}
.pss-admin-context .pss-bi-panel{
  min-width:0;
  height:100%;
  border-radius:var(--pss-radius-lg);
  box-shadow:var(--pss-shadow-sm);
}
.pss-admin-context .pss-bi-panel h3,
.pss-admin-context .pss-recommendations-panel h3{
  padding-bottom:11px;
  border-bottom:1px solid var(--pss-color-border);
}
.pss-admin-context .pss-bi-bar-row{
  min-height:40px;
}
.pss-admin-context .pss-bi-bar-row>div{
  height:12px;
}
.pss-admin-context .pss-bi-ranking>div{
  min-height:58px;
}
.pss-admin-context .pss-bi-ranking span{
  min-width:0;
}
.pss-admin-context .pss-bi-ranking span strong{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.pss-admin-context .pss-forecast-grid{
  align-items:stretch;
  margin-top:0;
}
.pss-admin-context .pss-forecast-card,
.pss-admin-context .pss-recommendations-panel{
  min-width:0;
  height:100%;
  border-radius:var(--pss-radius-lg);
  box-shadow:var(--pss-shadow-sm);
}
.pss-admin-context .pss-forecast-card>strong{
  overflow-wrap:anywhere;
}
.pss-admin-context .pss-forecast-meta span{
  min-height:30px;
  display:inline-flex;
  align-items:center;
}
.pss-admin-context .pss-recommendation-list a{
  min-height:68px;
  align-items:center;
  transition:transform .15s ease,border-color .15s ease,background .15s ease;
}
.pss-admin-context .pss-recommendation-list a:hover{
  transform:translateX(2px);
  border-color:#93c5fd;
  background:#fff;
}
.pss-admin-context .pss-recommendation-list span{min-width:0}
.pss-admin-context .pss-recommendation-list strong,
.pss-admin-context .pss-recommendation-list small{overflow-wrap:anywhere}
.pss-admin-context .pss-bi-note{
  margin-top:var(--pss-space-4);
  line-height:1.55;
}

@media(max-width:900px){
  .pss-admin-context .pss-crm-profile-status{min-width:0;justify-content:flex-start}
  .pss-admin-context .pss-alert-lists article{height:auto}
}
@media(max-width:680px){
  .pss-admin-context .pss-crm-filter{align-items:stretch}
  .pss-admin-context .pss-crm-filter input,
  .pss-admin-context .pss-crm-filter select,
  .pss-admin-context .pss-crm-filter .btn{width:100%;min-width:0}
  .pss-admin-context .pss-crm-profile{padding:var(--pss-space-3)}
  .pss-admin-context .pss-crm-profile-status{width:100%;display:grid;grid-template-columns:1fr 1fr}
  .pss-admin-context .pss-crm-profile-status .btn{grid-column:1/-1;width:100%}
  .pss-admin-context .pss-crm-profile-status .pss-crm-badge,
  .pss-admin-context .pss-crm-profile-status .pss-customer-score{justify-content:center}
  .pss-admin-context .pss-crm-quick-actions{display:grid;grid-template-columns:1fr 1fr}
  .pss-admin-context .pss-crm-quick-actions .btn{width:100%}
  .pss-admin-context .pss-bi-bar-row{grid-template-columns:64px minmax(80px,1fr)}
  .pss-admin-context .pss-bi-bar-row strong,
  .pss-admin-context .pss-bi-bar-row small{white-space:normal}
}
@media(max-width:460px){
  .pss-admin-context .pss-crm-profile-status,
  .pss-admin-context .pss-crm-quick-actions{grid-template-columns:1fr}
  .pss-admin-context .pss-crm-profile-status .btn{grid-column:auto}
  .pss-admin-context .pss-bi-ranking>div{grid-template-columns:30px minmax(0,1fr)}
  .pss-admin-context .pss-bi-ranking em{white-space:normal;text-align:left}
}
