@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500;600;700&display=swap');

:root {
  --font-heading: 'Open Sans', sans-serif;
  --font-body: 'Open Sans', sans-serif;
  --font-mono: 'IBM Plex Mono', monospace;
  --brand-primary: #12213B;
  --brand-secondary: #FF6B35;
}

body {
  font-family: var(--font-body);
}

.fi-simple-layout {
  background-color: #12213b !important;
}

.fi-simple-header .fi-logo {
  height: 9.25rem !important;
}

.portal-copyright{text-align:center;padding:24px 0;font-size:12px;color:var(--ink-mute);border-top:1px solid var(--line);margin-top:24px;}
.fi-pos-shell{display:flex;flex-direction:column;height:100% !important;}
.fi-pos-shell .fi-pos-grid{flex:1;min-height:0;height:auto !important;}
.fi-pos-shell .portal-copyright{flex-shrink:0;border-top:1px solid var(--line);}
@media (max-width:640px){.portal-copyright{font-size:11px;padding:16px 0;}}
/* Shared member portal cards - DRY for order/contract/evaluation/certificate/document/class */
.portal-order-card,.portal-contract-card,.portal-evaluation-card,.portal-certificate-card,.portal-document-card,.portal-class-card{display:flex;align-items:center;gap:16px;padding:16px;background:#fff;border:1px solid var(--line,#e5e7eb);border-radius:12px;transition:box-shadow .15s,border-color .15s;}
.portal-order-card:hover,.portal-contract-card:hover,.portal-evaluation-card:hover,.portal-certificate-card:hover,.portal-document-card:hover,.portal-class-card:hover{box-shadow:0 4px 16px rgba(0,0,0,0.08);border-color:var(--accent,#FF6B35);}
.dark .portal-order-card,.dark .portal-contract-card,.dark .portal-evaluation-card,.dark .portal-certificate-card,.dark .portal-document-card,.dark .portal-class-card{background:#1f2937;border-color:#374151;}
.dark .portal-order-card:hover,.dark .portal-contract-card:hover,.dark .portal-evaluation-card:hover,.dark .portal-certificate-card:hover,.dark .portal-document-card:hover,.dark .portal-class-card:hover{border-color:var(--accent,#FF6B35);}
@media (max-width:640px){
  .portal-order-card,.portal-contract-card,.portal-evaluation-card,.portal-certificate-card,.portal-document-card{flex-wrap:wrap;}
  .portal-contract-card .contracts-date,.portal-evaluation-card .evaluation-date,.portal-certificate-card .certificate-date,.portal-document-card .documents-date{width:100%;text-align:left;font-size:11px;}
  .portal-contract-card .contracts-name,.portal-evaluation-card .evaluation-name,.portal-certificate-card .certificate-name,.portal-document-card .documents-name{width:100%;}
}
/* Shared card inner styles (tab-specific classes) */
.contracts-date,.transaction-date,.evaluation-date,.certificate-date,.documents-date{width:70px;flex-shrink:0;font-family:var(--font-mono);font-size:12.5px;font-weight:600;color:var(--text,#1f2937);text-align:right;}
.contracts-name,.transaction-name,.evaluation-name,.certificate-name,.documents-name{flex:1;min-width:0;font-size:14px;font-weight:600;color:var(--text,#1f2937);margin-bottom:4px;}
.contracts-meta,.transaction-meta,.evaluation-meta,.certificate-meta,.documents-meta{display:flex;flex-wrap:wrap;gap:8px;font-size:11.5px;color:var(--ink-mute,#6b7280);line-height:1.4;}
.pcc-date{flex-shrink:0;text-align:right;font-size:11.5px;color:var(--ink-mute,#6b7280);font-family:var(--font-body);}
.portal-order-card .pcc-date{width:auto;}
.transaction-date{width:auto;}
.pcc-action{flex-shrink:0;text-align:right;font-size:11.5px;}
.pcc-badge{display:inline-flex;padding:2px 8px;border-radius:999px;font-size:9.5px;font-weight:700;white-space:nowrap;}
.contracts-badge,.transaction-badge,.evaluation-badge,.certificate-badge,.documents-badge{display:inline-flex;padding:2px 8px;border-radius:999px;font-size:9.5px;font-weight:700;white-space:nowrap;}
.contracts-badge.group,.transaction-badge.group,.evaluation-badge.group,.certificate-badge.group,.documents-badge.group{background:rgba(31,163,124,0.14);color:#1f7a5c;}
.contracts-badge.pt,.transaction-badge.pt,.evaluation-badge.pt,.certificate-badge.pt,.documents-badge.pt{background:#f3e8ff;color:#7e22ce;}
.contracts-badge.grouppt,.transaction-badge.grouppt,.evaluation-badge.grouppt,.certificate-badge.grouppt,.documents-badge.grouppt{background:#fce7f3;color:#be185d;}
.contracts-badge.single,.transaction-badge.single,.evaluation-badge.single,.certificate-badge.single,.documents-badge.single{background:#e0e7ff;color:#3730a3;}
.pcc-status{display:inline-flex;padding:2px 8px;border-radius:999px;font-size:9.5px;font-weight:700;white-space:nowrap;}
.pcc-status.att-present{background:#dcfce7;color:#166534;}
.pcc-status.att-absent{background:#fef3c7;color:#92400e;}
.pcc-status.att-noshow{background:#fee2e2;color:#991b1b;}
.pcc-status.booked{background:#dbeafe;color:#1e40af;}
.pcc-status.confirmed{background:#dbeafe;color:#1e40af;}
.pcc-status.completed{background:#d1fae5;color:#065f46;}
.pcc-status.cancelled{background:#fee2e2;color:#991b1b;}
.pcc-status.no_show{background:#fee2e2;color:#991b1b;}
.msc-empty{padding:26px;text-align:center;color:var(--ink-mute,#6b7280);font-size:13px;border:1px dashed var(--line,#d1d5db);border-radius:10px;}
.dark .contracts-date,.dark .transaction-date,.dark .evaluation-date,.dark .certificate-date,.dark .documents-date,.dark .contracts-name,.dark .transaction-name,.dark .evaluation-name,.dark .certificate-name,.dark .documents-name{color:#f9fafb;}
.dark .contracts-meta,.dark .transaction-meta,.dark .evaluation-meta,.dark .certificate-meta,.dark .documents-meta,.dark .pcc-date{color:#9ca3af;}
.dark .contracts-badge.group,.dark .transaction-badge.group,.dark .evaluation-badge.group,.dark .certificate-badge.group,.dark .documents-badge.group{background:rgba(31,163,124,0.2);color:#6ee7b7;}
.dark .contracts-badge.pt,.dark .transaction-badge.pt,.dark .evaluation-badge.pt,.dark .certificate-badge.pt,.dark .documents-badge.pt{background:#581c87;color:#e9d5ff;}
.dark .contracts-badge.grouppt,.dark .transaction-badge.grouppt,.dark .evaluation-badge.grouppt,.dark .certificate-badge.grouppt,.dark .documents-badge.grouppt{background:#831843;color:#fbcfe8;}
.dark .contracts-badge.single,.dark .transaction-badge.single,.dark .evaluation-badge.single,.dark .certificate-badge.single,.dark .documents-badge.single{background:#312e81;color:#c7d2fe;}
.dark .pcc-status.att-present{background:#14532d;color:#86efac;}
.dark .pcc-status.att-absent{background:#78350f;color:#fde68a;}
.dark .pcc-status.att-noshow{background:#7f1d1d;color:#fca5a5;}
.dark .pcc-status.booked{background:#1e3a5f;color:#93c5fd;}
.dark .pcc-status.confirmed{background:#1e3a5f;color:#93c5fd;}
.dark .pcc-status.completed{background:#064e3b;color:#6ee7b7;}
.dark .pcc-status.cancelled{background:#7f1d1d;color:#fca5a5;}
.dark .pcc-status.no_show{background:#7f1d1d;color:#fca5a5;}
.pcc-receipt{display:flex;align-items:center;gap:6px;flex-shrink:0;font-size:11.5px;white-space:nowrap;}
.pcc-receipt .mp-doc-link{color:var(--accent,#FF6B35);text-decoration:none;display:inline-flex;align-items:center;gap:2px;}
.pcc-receipt .mp-doc-link:hover{text-decoration:underline;}
.pcc-price{flex-shrink:0;font-family:var(--font-mono);font-size:13px;font-weight:700;color:var(--text,#1f2937);text-align:right;white-space:nowrap;}
@media (max-width:640px){
  .portal-order-card{flex-wrap:wrap;gap:8px 12px;padding:12px;}
  .portal-order-card .transaction-date{width:100%;text-align:left;font-size:11px;}
  .portal-order-card .transaction-name{width:100%;}
  .portal-order-card .pcc-price{flex:1;text-align:left;font-size:15px;}
  .portal-order-card .pcc-receipt{justify-content:flex-end;}
}
.skeleton{background:linear-gradient(90deg,var(--line,#e5e7eb) 25%,#f3f4f6 50%,var(--line,#e5e7eb) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;display:block;border-radius:8px;}
@keyframes shimmer{0%{background-position:200% 0;}100%{background-position:-200% 0;}}
.skeleton-card{height:72px;border-radius:12px;background:#f9fafb;border:1px solid var(--line);}
.skeleton-avatar{width:48px;height:48px;border-radius:50%;margin-right:12px;flex-shrink:0;}
.skeleton-line{height:12px;width:60%;margin:6px 0;border-radius:4px;}
.skeleton-line.short{width:35%;}
.skeleton-card .skeleton-avatar,.skeleton-card .skeleton-line{background:var(--line);}

/* Ensure all Filament tab icons and standard SVGs are strictly sized */
.fi-tabs-item .fi-icon,
.fi-tabs-item svg,
.fi-tabs-item-icon,
.fi-icon.fi-size-md,
svg.fi-size-md {
  width: 1.125rem !important;
  height: 1.125rem !important;
  max-width: 1.125rem !important;
  max-height: 1.125rem !important;
  flex-shrink: 0 !important;
}

.fi-icon.fi-size-sm,
svg.fi-size-sm {
  width: 0.875rem !important;
  height: 0.875rem !important;
  max-width: 0.875rem !important;
  max-height: 0.875rem !important;
}

.fi-icon.fi-size-lg,
svg.fi-size-lg {
  width: 1.5rem !important;
  height: 1.5rem !important;
  max-width: 1.5rem !important;
  max-height: 1.5rem !important;
}
