/**
 * PRIME — unified UI for authenticated CRUD / form pages.
 * Scoped to main content column so sidebar & header stay untouched.
 */

/* ── Page canvas ─────────────────────────────────────────────── */

.app-authenticated .app-shell__content-column.prime-app-page {
  color: var(--prime-text-primary, #1d3245);
  font-family: var(--prime-font-body, 'Open Sans', sans-serif);
}

.app-authenticated .app-shell__content-column.prime-app-page > * {
  animation: prime-page-enter 0.34s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.app-authenticated .app-shell__content-column.prime-app-page > *:nth-child(1) { animation-delay: 0.02s; }
.app-authenticated .app-shell__content-column.prime-app-page > *:nth-child(2) { animation-delay: 0.06s; }
.app-authenticated .app-shell__content-column.prime-app-page > *:nth-child(3) { animation-delay: 0.1s; }

@keyframes prime-page-enter {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

/* ── Module card: header + body ─────────────────────────────── */

.app-authenticated .app-shell__content-column .content-box-header {
  margin-bottom: 0;
  padding: 18px 24px;
  border: 1px solid var(--prime-border, #e5edf3);
  border-bottom: none;
  border-radius: var(--prime-radius-lg, 22px) var(--prime-radius-lg, 22px) 0 0;
  background: linear-gradient(180deg, #ffffff 0%, #f7fafc 100%);
  box-shadow: none;
}

.app-authenticated .app-shell__content-column .content-box-header::before {
  content: '';
  display: block;
  width: 48px;
  height: 4px;
  margin-bottom: 12px;
  border-radius: var(--prime-radius-pill, 999px);
  background: var(--prime-gradient-primary, linear-gradient(135deg, #183149 0%, #2b5e7b 100%));
}

.app-authenticated .app-shell__content-column .content-box-header .panel-title {
  float: none;
  margin: 0;
  padding: 0;
  color: var(--prime-text-primary, #1d3245);
  font-size: 18px;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: 0.01em;
  text-wrap: balance;
}

.app-authenticated .app-shell__content-column .content-box-header .panel-options {
  float: right;
  padding: 0;
  margin-top: -4px;
}

.app-authenticated .app-shell__content-column .content-box-large {
  margin-bottom: 24px;
  padding: 24px;
  border: 1px solid var(--prime-border, #e5edf3);
  border-radius: var(--prime-radius-lg, 22px);
  background: var(--prime-surface-card, rgba(255, 255, 255, 0.96));
  box-shadow: var(--prime-shadow-md, 0 18px 40px rgba(18, 35, 52, 0.09));
}

.app-authenticated .app-shell__content-column .content-box-large.box-with-header {
  margin-top: 0;
  padding-top: 22px;
  border-top: none;
  border-radius: 0 0 var(--prime-radius-lg, 22px) var(--prime-radius-lg, 22px);
  box-shadow: var(--prime-shadow-md, 0 18px 40px rgba(18, 35, 52, 0.09));
}

.app-authenticated .app-shell__content-column .content-box-header + .content-box-large.box-with-header {
  margin-bottom: 24px;
}

.app-authenticated .app-shell__content-column .content-box-large .panel-body {
  padding: 0;
}

/* Primary action row (legacy pages without toolbar) */
.app-authenticated .app-shell__content-column .content-box-large > .btn,
.app-authenticated .app-shell__content-column .content-box-large > a.btn {
  margin-bottom: 14px;
}

/* ── Inline filters (Target, reports, etc.) ─────────────────── */

.app-authenticated .app-shell__content-column .dashboard-period-filter,
.app-authenticated .app-shell__content-column .form-inline:not(.prime-list-toolbar) {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 12px;
  margin: 0 0 18px;
  padding: 14px 16px;
  border: 1px solid var(--prime-border, #e5edf3);
  border-radius: var(--prime-radius-md, 16px);
  background: var(--prime-neutral-50, #f4f7fa);
}

.app-authenticated .app-shell__content-column .dashboard-period-filter label,
.app-authenticated .app-shell__content-column .form-inline:not(.prime-list-toolbar) > label {
  margin: 0;
  color: var(--prime-neutral-700, #35526a);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  white-space: nowrap;
}

.app-authenticated .app-shell__content-column .dashboard-period-filter .form-control,
.app-authenticated .app-shell__content-column .form-inline:not(.prime-list-toolbar) .form-control {
  margin: 0;
}

/* ── Forms ──────────────────────────────────────────────────── */

.app-authenticated .app-shell__content-column fieldset {
  margin: 0 0 22px;
  padding: 0;
  border: 0;
}

.app-authenticated .app-shell__content-column fieldset legend {
  display: block;
  width: 100%;
  margin: 0 0 16px;
  padding: 0 0 10px;
  border: 0;
  border-bottom: 2px solid var(--prime-border, #e5edf3);
  color: var(--prime-text-primary, #1d3245);
  font-size: 16px;
  font-weight: 700;
  text-wrap: balance;
}

.app-authenticated .app-shell__content-column .form-group {
  margin-bottom: 16px;
}

.app-authenticated .app-shell__content-column .control-label {
  color: var(--prime-neutral-700, #35526a);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.app-authenticated .app-shell__content-column .form-control {
  min-height: 40px;
  border: 1px solid var(--prime-neutral-300, #cfdae3);
  border-radius: var(--prime-radius-sm, 12px);
  background: #ffffff;
  color: var(--prime-text-primary, #1d3245);
  box-shadow: none;
  transition: border-color var(--prime-transition-fast, 0.2s ease),
    box-shadow var(--prime-transition-fast, 0.2s ease);
}

.app-authenticated .app-shell__content-column .form-control:focus {
  border-color: var(--prime-primary-400, #326885);
  box-shadow: 0 0 0 3px rgba(50, 104, 133, 0.16);
}

.app-authenticated .app-shell__content-column .form-control.input-sm,
.app-authenticated .app-shell__content-column .input-sm {
  min-height: 36px;
  border-radius: 10px;
}

.app-authenticated .app-shell__content-column textarea.form-control {
  min-height: 96px;
  resize: vertical;
}

.app-authenticated .app-shell__content-column .help-block,
.app-authenticated .app-shell__content-column .red {
  color: var(--prime-danger-text, #8b4337);
  font-size: 12px;
}

.app-authenticated .app-shell__content-column .has-error .form-control {
  border-color: #d48478;
}

.app-authenticated .app-shell__content-column .has-error .control-label {
  color: var(--prime-danger-text, #8b4337);
}

/* ── Buttons ─────────────────────────────────────────────────── */

.app-authenticated .app-shell__content-column .btn {
  border-radius: var(--prime-radius-pill, 999px);
  font-weight: 700;
  letter-spacing: 0.02em;
}

.app-authenticated .app-shell__content-column .btn-primary {
  border-color: transparent;
  background: var(--prime-gradient-primary, linear-gradient(135deg, #183149 0%, #2b5e7b 100%));
  box-shadow: 0 10px 24px rgba(24, 49, 73, 0.18);
}

.app-authenticated .app-shell__content-column .btn-primary:hover,
.app-authenticated .app-shell__content-column .btn-primary:focus {
  border-color: transparent;
  background: linear-gradient(135deg, #1d3a54 0%, #326885 100%);
  color: #ffffff;
}

.app-authenticated .app-shell__content-column .btn-default {
  border-color: var(--prime-border, #e5edf3);
  background: #ffffff;
  color: var(--prime-neutral-700, #35526a);
}

.app-authenticated .app-shell__content-column .btn-default:hover,
.app-authenticated .app-shell__content-column .btn-default:focus {
  border-color: var(--prime-neutral-300, #cfdae3);
  background: var(--prime-neutral-50, #f4f7fa);
  color: var(--prime-primary-700, #1d3245);
}

.app-authenticated .app-shell__content-column .btn-link {
  color: var(--prime-primary-500, #2b5e7b);
  font-weight: 600;
}

.app-authenticated .app-shell__content-column .btn-warning {
  border-color: transparent;
  background: linear-gradient(135deg, #8a6438 0%, #b8894f 100%);
  color: #ffffff;
}

.app-authenticated .app-shell__content-column .btn-danger {
  border-color: transparent;
  background: linear-gradient(135deg, #7a3f35 0%, #a45648 100%);
  color: #ffffff;
}

/* ── Alerts ─────────────────────────────────────────────────── */

.app-authenticated .app-shell__content-column .alert {
  margin-bottom: 16px;
  padding: 14px 16px;
  border: 1px solid transparent;
  border-radius: var(--prime-radius-md, 16px);
  font-size: 13px;
  line-height: 1.55;
}

.app-authenticated .app-shell__content-column .alert-success {
  border-color: #c8e3d4;
  background: var(--prime-success-bg, #e8f4ec);
  color: var(--prime-success-text, #1f5c38);
}

.app-authenticated .app-shell__content-column .alert-danger {
  border-color: #f0cbc4;
  background: var(--prime-danger-bg, #fff1ee);
  color: var(--prime-danger-text, #8b4337);
}

.app-authenticated .app-shell__content-column .alert-warning {
  border-color: #f2dfc0;
  background: var(--prime-warning-bg, #fff7eb);
  color: var(--prime-warning-text, #7a5631);
}

.app-authenticated .app-shell__content-column .alert-info {
  border-color: #c8dae8;
  background: var(--prime-info-bg, #edf4f9);
  color: var(--prime-info-text, #284156);
}

/* ── Tables ──────────────────────────────────────────────────── */

.app-authenticated .app-shell__content-column .table-responsive {
  margin-top: 4px;
  border: 1px solid var(--prime-border, #e5edf3);
  border-radius: var(--prime-radius-md, 16px);
  background: #ffffff;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

.app-authenticated .app-shell__content-column .table {
  margin-bottom: 0;
  border-collapse: collapse;
  background: transparent;
}

.app-authenticated .app-shell__content-column .table > thead > tr > th,
.app-authenticated .app-shell__content-column .table > tbody > tr > th,
.app-authenticated .app-shell__content-column .table > tfoot > tr > th,
.app-authenticated .app-shell__content-column .table > thead > tr > td,
.app-authenticated .app-shell__content-column .table > tbody > tr > td,
.app-authenticated .app-shell__content-column .table > tfoot > tr > td {
  padding: 12px 14px;
  border-color: var(--prime-border, #e5edf3);
  color: var(--prime-text-primary, #1d3245);
  font-size: 13px;
  vertical-align: middle;
}

.app-authenticated .app-shell__content-column .table > thead > tr > th {
  border-bottom-width: 1px;
  background: var(--prime-neutral-50, #f4f8fb);
  color: var(--prime-neutral-700, #35526a);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  white-space: nowrap;
}

.app-authenticated .app-shell__content-column .table-striped > tbody > tr:nth-of-type(odd) {
  background: rgba(244, 248, 251, 0.65);
}

.app-authenticated .app-shell__content-column .table > tbody > tr {
  transition: background-color 0.15s ease;
}

.app-authenticated .app-shell__content-column .table > tbody > tr:hover {
  background: #edf4f9;
}

.app-authenticated .app-shell__content-column .table a {
  color: var(--prime-primary-600, #204765);
  font-weight: 600;
  text-decoration: none;
}

.app-authenticated .app-shell__content-column .table a:hover,
.app-authenticated .app-shell__content-column .table a:focus {
  color: var(--prime-primary-800, #183149);
  text-decoration: underline;
}

.app-authenticated .app-shell__content-column .table td a .glyphicon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  margin: 0 2px;
  border-radius: 10px;
  background: var(--prime-neutral-50, #f4f7fa);
  border: 1px solid var(--prime-border, #e5edf3);
  color: var(--prime-neutral-700, #35526a);
  font-size: 13px;
  text-decoration: none;
  transition: background-color 0.15s ease, color 0.15s ease, transform 0.12s ease;
}

.app-authenticated .app-shell__content-column .table td a:hover .glyphicon,
.app-authenticated .app-shell__content-column .table td a:focus .glyphicon {
  background: #edf4f9;
  color: var(--prime-primary-700, #1d3245);
  transform: translateY(-1px);
}

.app-authenticated .app-shell__content-column .table td a .glyphicon.glyphicon-trash {
  color: #9a4f43;
}

.app-authenticated .app-shell__content-column .table td a:hover .glyphicon.glyphicon-trash {
  background: var(--prime-danger-bg, #fff1ee);
  color: var(--prime-danger-text, #8b4337);
}

/* ── Pagination ──────────────────────────────────────────────── */

.app-authenticated .app-shell__content-column .pagination {
  margin: 18px 0 4px;
}

.app-authenticated .app-shell__content-column .pagination > li > a,
.app-authenticated .app-shell__content-column .pagination > li > span {
  margin: 0 3px;
  padding: 8px 13px;
  border: 1px solid var(--prime-border, #e5edf3);
  border-radius: 10px;
  background: #ffffff;
  color: var(--prime-neutral-700, #35526a);
}

.app-authenticated .app-shell__content-column .pagination > .active > a,
.app-authenticated .app-shell__content-column .pagination > .active > span,
.app-authenticated .app-shell__content-column .pagination > .active > a:hover,
.app-authenticated .app-shell__content-column .pagination > .active > span:hover {
  border-color: transparent;
  background: var(--prime-gradient-primary, linear-gradient(135deg, #183149 0%, #2b5e7b 100%));
  color: #ffffff;
}

/* ── Tabs & wells ────────────────────────────────────────────── */

.app-authenticated .app-shell__content-column .nav-tabs {
  margin-bottom: 18px;
  border-bottom: 2px solid var(--prime-border, #e5edf3);
}

.app-authenticated .app-shell__content-column .nav-tabs > li > a {
  margin-right: 6px;
  border: 1px solid transparent;
  border-radius: 12px 12px 0 0;
  color: var(--prime-neutral-700, #35526a);
  font-weight: 600;
}

.app-authenticated .app-shell__content-column .nav-tabs > li.active > a,
.app-authenticated .app-shell__content-column .nav-tabs > li.active > a:hover,
.app-authenticated .app-shell__content-column .nav-tabs > li.active > a:focus {
  border: 1px solid var(--prime-border, #e5edf3);
  border-bottom-color: transparent;
  background: #ffffff;
  color: var(--prime-primary-700, #1d3245);
}

.app-authenticated .app-shell__content-column .well {
  border: 1px solid var(--prime-border, #e5edf3);
  border-radius: var(--prime-radius-md, 16px);
  background: var(--prime-neutral-50, #f4f7fa);
  box-shadow: none;
}

/* ── Labels & badges ─────────────────────────────────────────── */

.app-authenticated .app-shell__content-column .label,
.app-authenticated .app-shell__content-column .badge {
  border-radius: var(--prime-radius-pill, 999px);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.04em;
  padding: 4px 10px;
}

.app-authenticated .app-shell__content-column .label-success {
  background: var(--prime-success-text, #1f5c38);
}

.app-authenticated .app-shell__content-column .label-danger {
  background: var(--prime-danger-text, #8b4337);
}

.app-authenticated .app-shell__content-column .label-warning {
  background: var(--prime-warning-text, #7a5631);
}

.app-authenticated .app-shell__content-column .label-info {
  background: var(--prime-info-text, #284156);
}

/* ── Modals inside content ───────────────────────────────────── */

body.modal-open .modal-backdrop {
  z-index: 1050;
}

body.modal-open .modal {
  z-index: 1060;
}

.app-authenticated .modal-content {
  border: 1px solid var(--prime-border, #e5edf3);
  border-radius: var(--prime-radius-lg, 22px);
  box-shadow: var(--prime-shadow-hero, 0 26px 60px rgba(23, 49, 73, 0.18));
  overflow: visible;
}

.app-authenticated .modal-header {
  border-bottom: 1px solid var(--prime-border, #e5edf3);
  background: linear-gradient(180deg, #ffffff 0%, #f7fafc 100%);
}

.app-authenticated .modal-title {
  color: var(--prime-text-primary, #1d3245);
  font-weight: 700;
}

.app-authenticated .modal-footer {
  border-top: 1px solid var(--prime-border, #e5edf3);
  background: var(--prime-neutral-50, #f4f7fa);
}

/* ── Section titles outside dashboard-home ───────────────────── */

.app-authenticated .app-shell__content-column .dashboard-section-title {
  margin: 8px 0 16px;
}

/* ── Mobile ──────────────────────────────────────────────────── */

@media (max-width: 767px) {
  .app-authenticated .app-shell__content-column .content-box-header {
    padding: 14px 16px;
    border-radius: 18px 18px 0 0;
  }

  .app-authenticated .app-shell__content-column .content-box-header .panel-title {
    font-size: 17px;
  }

  .app-authenticated .app-shell__content-column .content-box-large,
  .app-authenticated .app-shell__content-column .content-box-large.box-with-header {
    padding: 16px 14px;
    border-radius: 0 0 18px 18px;
  }

  .app-authenticated .app-shell__content-column .content-box-large:not(.box-with-header) {
    border-radius: 18px;
  }

  .app-authenticated .app-shell__content-column .dashboard-period-filter,
  .app-authenticated .app-shell__content-column .form-inline:not(.prime-list-toolbar) {
    align-items: stretch;
  }

  .app-authenticated .app-shell__content-column .dashboard-period-filter .form-control,
  .app-authenticated .app-shell__content-column .form-inline:not(.prime-list-toolbar) .form-control,
  .app-authenticated .app-shell__content-column .dashboard-period-filter .btn,
  .app-authenticated .app-shell__content-column .form-inline:not(.prime-list-toolbar) .btn {
    width: 100%;
  }

  .app-authenticated .app-shell__content-column .table > thead > tr > th,
  .app-authenticated .app-shell__content-column .table > tbody > tr > td {
    padding: 10px 12px;
    font-size: 12px;
  }
}
