/* Digitide V35 Premium 4K UI
   Presentation-only layer: larger typography, cleaner density, sharper hierarchy.
   Loaded after app.css. Dynamic-module styles are overridden deliberately. */

:root {
  --v35-text: #0f172a;
  --v35-muted: #64748b;
  --v35-border: #dbe5f0;
  --v35-blue: #1d4ed8;
  --v35-soft-blue: #eff6ff;
  --v35-shadow: 0 12px 32px rgba(15, 23, 42, .08);
}

html, body {
  -webkit-font-smoothing: antialiased !important;
  -moz-osx-font-smoothing: grayscale !important;
  text-rendering: optimizeLegibility !important;
}

/* ---------- PO DATE-WISE QUEUE ---------- */
.po31-shell { gap: 18px !important; }
.po31-hero {
  border-radius: 20px !important;
  padding: 21px 24px !important;
  box-shadow: 0 18px 44px rgba(30, 64, 175, .20) !important;
}
.po31-hero h3 { font-size: 25px !important; line-height: 1.15 !important; letter-spacing: -.25px !important; }
.po31-hero p { margin-top: 7px !important; font-size: 13px !important; line-height: 1.55 !important; }

.po34-summary-grid {
  grid-template-columns: repeat(auto-fit, minmax(128px, 1fr)) !important;
  gap: 11px !important;
}
.po31-kpi {
  border-color: var(--v35-border) !important;
  border-radius: 16px !important;
  padding: 14px 15px !important;
  box-shadow: 0 8px 24px rgba(15, 23, 42, .065) !important;
}
.po31-kpi span { font-size: 10.5px !important; letter-spacing: .45px !important; line-height: 1.2 !important; }
.po31-kpi strong { margin-top: 6px !important; font-size: 27px !important; line-height: 1.08 !important; letter-spacing: -.3px !important; }
.po31-kpi small { margin-top: 5px !important; font-size: 10.5px !important; line-height: 1.35 !important; }

.po31-panel {
  border-radius: 18px !important;
  border-color: var(--v35-border) !important;
  box-shadow: var(--v35-shadow) !important;
}
.po31-head { padding: 16px 17px !important; }
.po31-head h4 { font-size: 16px !important; line-height: 1.25 !important; }
.po31-head p { margin-top: 4px !important; font-size: 11px !important; line-height: 1.45 !important; }
.po31-actions { gap: 9px !important; }
.po31-btn {
  min-height: 36px !important;
  border-radius: 10px !important;
  padding: 9px 14px !important;
  font-size: 10.5px !important;
  line-height: 1.2 !important;
  letter-spacing: .05px !important;
}

.po34-period {
  gap: 11px !important;
  padding: 14px 16px !important;
}
.po31-control label { margin-bottom: 6px !important; font-size: 10px !important; letter-spacing: .4px !important; }
.po31-control input,
.po31-control select,
.po31-control textarea {
  min-height: 38px !important;
  border-radius: 10px !important;
  padding: 9px 11px !important;
  font-size: 11px !important;
  line-height: 1.3 !important;
}

.po34-date-list { gap: 12px !important; padding: 14px !important; }
.po34-date-card {
  border-radius: 16px !important;
  border-color: #cfdded !important;
  box-shadow: 0 8px 24px rgba(15, 23, 42, .065) !important;
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease !important;
}
.po34-date-card:hover {
  transform: translateY(-1px) !important;
  border-color: #b9cce2 !important;
  box-shadow: 0 12px 30px rgba(15, 23, 42, .085) !important;
}
.po34-date-head { padding: 15px 16px !important; gap: 15px !important; }
.po34-date-title strong { font-size: 18px !important; line-height: 1.15 !important; letter-spacing: -.15px !important; }
.po34-date-title small { margin-top: 5px !important; font-size: 10.5px !important; line-height: 1.35 !important; }
.po34-progress { height: 7px !important; margin-top: 9px !important; }
.po34-metrics { gap: 7px !important; }
.po34-pill {
  padding: 5px 8px !important;
  font-size: 9.5px !important;
  line-height: 1.25 !important;
  letter-spacing: .02px !important;
}
.po34-date-actions { gap: 8px !important; }
.po34-type-tabs { gap: 9px !important; padding: 13px 14px !important; }
.po34-type-btn {
  min-height: 36px !important;
  border-radius: 10px !important;
  padding: 8px 14px !important;
  font-size: 10.5px !important;
}
.po34-type-count { font-size: 9.5px !important; margin-left: 5px !important; }
.po34-detail { padding: 0 14px 14px !important; }
.po34-detail-note { padding: 10px 2px !important; font-size: 10.5px !important; line-height: 1.45 !important; }

.po31-table-wrap { border-radius: 12px !important; }
.po31-table th {
  padding: 11px 10px !important;
  font-size: 9.5px !important;
  letter-spacing: .32px !important;
  line-height: 1.25 !important;
}
.po31-table td {
  padding: 11px 10px !important;
  font-size: 10.5px !important;
  line-height: 1.4 !important;
}
.po31-table tbody tr { min-height: 52px !important; transition: background .12s ease !important; }
.po31-table tbody tr:hover { background: #f5f9ff !important; }
.po31-mark { margin-top: 4px !important; font-size: 9px !important; line-height: 1.3 !important; }
.po31-badge { padding: 5px 8px !important; font-size: 9px !important; line-height: 1.2 !important; }
.po31-assign { gap: 7px !important; }
.po31-assign select { min-height: 36px !important; min-width: 175px !important; padding: 8px !important; font-size: 10px !important; }

/* PO review form */
.po31-review-head { padding: 18px 19px !important; }
.po31-review-head h4 { font-size: 20px !important; }
.po31-review-head p { font-size: 11.5px !important; line-height: 1.45 !important; }
.po31-info-card span { font-size: 9px !important; }
.po31-info-card strong { font-size: 11.5px !important; line-height: 1.35 !important; }
.po31-rating-table th { font-size: 9px !important; padding: 10px !important; }
.po31-rating-table td { font-size: 10.5px !important; padding: 10px !important; line-height: 1.4 !important; }
.po31-rating-table select,
.po31-rating-table input { min-height: 36px !important; font-size: 10px !important; }

/* ---------- QA WORK QUEUE ---------- */
.qa-task-shell { border-radius: 18px !important; box-shadow: var(--v35-shadow) !important; }
.qa-task-head { padding: 17px 18px !important; }
.qa-task-head h3 { font-size: 21px !important; line-height: 1.2 !important; }
.qa-task-head p { font-size: 11.5px !important; line-height: 1.5 !important; }
.qa-task-date { font-size: 10.5px !important; padding: 8px 11px !important; }
.qa-task-tabs { gap: 8px !important; padding: 12px 14px !important; }
.qa-task-tab { min-height: 36px !important; font-size: 10.5px !important; padding: 8px 12px !important; }
.qa-task-body { padding: 15px !important; }
.qa-progress-card { padding: 13px 14px !important; border-radius: 14px !important; }
.qa-progress-card span { font-size: 9.5px !important; }
.qa-progress-card strong { font-size: 24px !important; }
.qa-progress-card small { font-size: 9.5px !important; line-height: 1.35 !important; }
.qa-rule-pill, .qa-pill { font-size: 9.5px !important; padding: 5px 8px !important; }
.qa-queue-switch button { min-height: 38px !important; font-size: 10.5px !important; padding: 9px 13px !important; }
.qa-queue-count { font-size: 9px !important; }
.qa-block { border-radius: 14px !important; box-shadow: 0 6px 18px rgba(15,23,42,.045) !important; }
.qa-block-head { padding: 12px 14px !important; font-size: 11px !important; }
.qa-block-head strong { font-size: 12px !important; }
.qa-task-note { font-size: 10.5px !important; line-height: 1.5 !important; padding: 10px 12px !important; }
.qa-task-table th { font-size: 9.5px !important; padding: 10px 9px !important; letter-spacing: .28px !important; }
.qa-task-table td { font-size: 10.5px !important; padding: 10px 9px !important; line-height: 1.4 !important; }
.qa-plan-date { font-size: 10px !important; font-weight: 800 !important; }
.qa-completed-at { margin-top: 4px !important; font-size: 9px !important; }
.qa-start-btn, .qa-replace-btn { min-height: 34px !important; font-size: 10px !important; padding: 8px 10px !important; }

/* ---------- AUDIT RECORDS ---------- */
.digitide-record-table th { font-size: 10px !important; padding: 11px 12px !important; letter-spacing: .28px !important; }
.digitide-record-table td { font-size: 11.5px !important; padding: 12px !important; line-height: 1.42 !important; }
.digitide-record-table tbody tr:hover { background: #f5f9ff !important; }
.digitide-history-table th { font-size: 9.5px !important; padding: 10px !important; }
.digitide-history-table td { font-size: 10.5px !important; padding: 10px !important; line-height: 1.4 !important; }
.digitide-action-button { min-height: 34px !important; font-size: 10px !important; }

/* ---------- CDR SAMPLING / ANALYTICS ---------- */
.cdr-hero h3, .cdr-ana-hero h3 { font-size: 22px !important; }
.cdr-hero p, .cdr-ana-hero p { font-size: 11.5px !important; line-height: 1.5 !important; }
.cdr-kpi span, .cdr-ana-kpi span { font-size: 9.5px !important; }
.cdr-kpi strong, .cdr-ana-kpi strong { font-size: 24px !important; }
.cdr-kpi small, .cdr-ana-kpi small { font-size: 9.5px !important; }
.cdr-table th, .cdr-ana-table th, .cdr-duty-table th { font-size: 9.5px !important; padding: 10px !important; }
.cdr-table td, .cdr-ana-table td, .cdr-duty-table td { font-size: 10.5px !important; padding: 10px !important; line-height: 1.4 !important; }
.cdr-button, .cdr-ana-btn { min-height: 36px !important; font-size: 10.5px !important; }
.cdr-badge, .cdr-ops-badge { font-size: 9px !important; }

/* Higher-resolution screens: keep typography comfortable rather than tiny. */
@media (min-width: 1900px) {
  .po31-hero h3 { font-size: 27px !important; }
  .po34-date-title strong { font-size: 19px !important; }
  .po31-table td, .qa-task-table td, .digitide-record-table td, .cdr-table td, .cdr-ana-table td { font-size: 11.5px !important; }
  .po31-table th, .qa-task-table th, .digitide-record-table th, .cdr-table th, .cdr-ana-table th { font-size: 10px !important; }
}

@media (max-width: 1200px) {
  .po31-table td, .qa-task-table td, .digitide-record-table td { font-size: 10.5px !important; }
  .po34-date-head { padding: 13px 14px !important; }
}
