/* LTP Induction Manager v2.0 — Lambda Theta Phi Latin Fraternity, Inc. */
:root {
    --ltp-brown:       #5C2D0E;
    --ltp-brown-dark:  #3d1e09;
    --ltp-gold:        #C8922A;
    --ltp-gold-light:  #f9f0de;
    --ltp-approved:    #166534;
    --ltp-approved-bg: #dcfce7;
    --ltp-pending:     #92400e;
    --ltp-pending-bg:  #fef3c7;
    --ltp-rejected:    #991b1b;
    --ltp-rejected-bg: #fee2e2;
    --ltp-border:      #e2d9cc;
    --ltp-radius:      8px;
    --ltp-radius-lg:   12px;
    --ltp-shadow:      0 1px 3px rgba(0,0,0,.08), 0 1px 2px rgba(0,0,0,.04);
    --ltp-shadow-md:   0 4px 6px rgba(0,0,0,.07), 0 2px 4px rgba(0,0,0,.06);
    --ltp-font:        -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

/* ── Base ── */
.ltp-wrap { font-family: var(--ltp-font); max-width: 1000px; margin: 0 auto; padding: 1.5rem 0; color: #1a1a1a; }
.ltp-wrap *, .ltp-wrap *::before, .ltp-wrap *::after { box-sizing: border-box; }

/* ── Form Header ── */
.ltp-form-header { margin-bottom: 2rem; }
.ltp-form-header h2 { font-size: 1.8rem; font-weight: 700; color: var(--ltp-brown); margin: 0 0 .5rem; }
.ltp-form-header p { color: #555; margin: 0; }

/* ── Form Sections ── */
.ltp-form-section { background: #fff; border: 1px solid var(--ltp-border); border-radius: var(--ltp-radius-lg); padding: 1.5rem; margin-bottom: 1.5rem; box-shadow: var(--ltp-shadow); }
.ltp-section-header { display: flex; align-items: center; gap: .5rem; margin-bottom: 1.25rem; padding-bottom: .75rem; border-bottom: 2px solid var(--ltp-gold-light); }
.ltp-section-header h3 { font-size: 1.1rem; font-weight: 700; color: var(--ltp-brown); margin: 0; }
.ltp-section-icon { font-size: 1.2rem; }
.ltp-section-desc { color: #555; font-size: .9rem; margin: -.5rem 0 1rem; }

/* ── Field Grid ── */
.ltp-field-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.ltp-field { display: flex; flex-direction: column; gap: .4rem; }
.ltp-field--full { grid-column: 1 / -1; }
.ltp-field--half { grid-column: span 1; }
.ltp-field--third { grid-column: span 1; }
.ltp-field label { font-weight: 600; font-size: .9rem; color: #333; }
.ltp-field input[type="text"],
.ltp-field input[type="email"],
.ltp-field input[type="tel"],
.ltp-field input[type="url"],
.ltp-field input[type="date"],
.ltp-field input[type="number"],
.ltp-field select,
.ltp-field textarea,
.ltp-cloud-input { width: 100%; padding: .6rem .85rem; border: 1.5px solid #d1c5b5; border-radius: var(--ltp-radius); font-size: .95rem; font-family: var(--ltp-font); background: #fff; color: #1a1a1a; transition: border-color .15s, box-shadow .15s; }
.ltp-field input:focus,
.ltp-field select:focus,
.ltp-field textarea:focus,
.ltp-cloud-input:focus { outline: none; border-color: var(--ltp-gold); box-shadow: 0 0 0 3px rgba(200,146,42,.15); }
.ltp-req { color: var(--ltp-rejected); }
.ltp-help { font-size: .8rem; color: #777; display: block; margin-top: .25rem; }

/* ── Checkbox ── */
.ltp-checkbox-label { display: flex; align-items: flex-start; gap: .5rem; cursor: pointer; font-weight: 500; }
.ltp-checkbox-label input { margin-top: 2px; accent-color: var(--ltp-brown); width: 16px; height: 16px; }

/* ── Document Upload Slots ── */
.ltp-doc-slot { border: 1.5px solid var(--ltp-border); border-radius: var(--ltp-radius); margin-bottom: 1rem; overflow: hidden; }
.ltp-doc-slot-header { background: var(--ltp-gold-light); padding: .5rem 1rem; }
.ltp-doc-slot-label { font-weight: 700; font-size: .9rem; color: var(--ltp-brown); }
.ltp-doc-slot-body { padding: 1rem; }
.ltp-doc-upload-area { position: relative; border: 2px dashed #c5b89a; border-radius: var(--ltp-radius); text-align: center; padding: 1.5rem; cursor: pointer; transition: background .15s, border-color .15s; background: #faf8f5; }
.ltp-doc-upload-area:hover { background: var(--ltp-gold-light); border-color: var(--ltp-gold); }
.ltp-file-input { position: absolute; inset: 0; opacity: 0; width: 100%; height: 100%; cursor: pointer; }
.ltp-file-label { display: flex; flex-direction: column; align-items: center; gap: .25rem; pointer-events: none; }
.ltp-file-icon { font-size: 1.8rem; }
.ltp-file-text { font-weight: 600; color: var(--ltp-brown); }
.ltp-file-hint { font-size: .8rem; color: #888; }
.ltp-file-selected { font-weight: 600; color: var(--ltp-approved); padding: .5rem; }
.ltp-doc-or { text-align: center; color: #999; font-size: .85rem; margin: .75rem 0; position: relative; }
.ltp-doc-or::before, .ltp-doc-or::after { content: ''; position: absolute; top: 50%; width: 42%; height: 1px; background: #ddd; }
.ltp-doc-or::before { left: 0; } .ltp-doc-or::after { right: 0; }
.ltp-cloud-input { margin-top: .25rem; }
.ltp-cloud-reminder { display: block; font-size: .8rem; color: var(--ltp-pending); margin-top: .3rem; }

/* ── Buttons ── */
.ltp-btn { display: inline-flex; align-items: center; justify-content: center; gap: .4rem; padding: .65rem 1.4rem; font-size: .95rem; font-weight: 600; border: 2px solid transparent; border-radius: var(--ltp-radius); cursor: pointer; text-decoration: none; transition: background .15s, opacity .15s, transform .1s; font-family: var(--ltp-font); line-height: 1.4; }
.ltp-btn--primary { background: var(--ltp-brown); color: #fff; border-color: var(--ltp-brown); }
.ltp-btn--primary:hover { background: var(--ltp-brown-dark); border-color: var(--ltp-brown-dark); color: #fff; }
.ltp-btn--outline { background: transparent; color: var(--ltp-brown); border-color: var(--ltp-brown); }
.ltp-btn--outline:hover { background: var(--ltp-brown); color: #fff; }
.ltp-btn--lg { padding: .85rem 2rem; font-size: 1.05rem; }
.ltp-btn--sm { padding: .4rem .9rem; font-size: .85rem; }
.ltp-btn:disabled { opacity: .6; cursor: not-allowed; }

/* ── Form Footer ── */
.ltp-form-footer { text-align: center; padding: 1.5rem; background: var(--ltp-gold-light); border-radius: var(--ltp-radius-lg); }
.ltp-submit-note { color: #666; font-size: .85rem; margin: .75rem 0 0; }

/* ── Notices ── */
.ltp-notice { padding: .9rem 1.1rem; border-radius: var(--ltp-radius); margin-bottom: 1rem; font-size: .93rem; border-left: 4px solid transparent; }
.ltp-notice--error   { background: var(--ltp-rejected-bg); border-color: var(--ltp-rejected); color: #7f1d1d; }
.ltp-notice--success { background: var(--ltp-approved-bg); border-color: var(--ltp-approved); color: #14532d; }
.ltp-notice--info    { background: #eff6ff; border-color: #2563eb; color: #1e3a8a; }

/* ── Status Badges ── */
.ltp-status { display: inline-block; padding: .2rem .65rem; border-radius: 20px; font-size: .78rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; }
.ltp-status--approved { background: var(--ltp-approved-bg); color: var(--ltp-approved); }
.ltp-status--pending  { background: var(--ltp-pending-bg);  color: var(--ltp-pending); }
.ltp-status--rejected { background: var(--ltp-rejected-bg); color: var(--ltp-rejected); }

/* ── Final Badge ── */
.ltp-final-badge { display: inline-block; padding: .3rem 1rem; border-radius: 20px; font-size: .85rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; }
.ltp-final-badge--approved { background: var(--ltp-approved-bg); color: var(--ltp-approved); }
.ltp-final-badge--pending  { background: var(--ltp-pending-bg);  color: var(--ltp-pending); }
.ltp-final-badge--rejected { background: var(--ltp-rejected-bg); color: var(--ltp-rejected); }

/* ── Dashboard Header ── */
.ltp-dashboard-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 1.5rem; flex-wrap: wrap; gap: 1rem; }
.ltp-dashboard-header h2 { font-size: 1.6rem; font-weight: 700; color: var(--ltp-brown); margin: 0; }
.ltp-badge-count { background: var(--ltp-gold); color: #fff; padding: .25rem .8rem; border-radius: 20px; font-size: .85rem; font-weight: 700; }

/* ── Application Cards ── */
.ltp-application-list { display: flex; flex-direction: column; gap: 1rem; }
.ltp-app-card { background: #fff; border: 1.5px solid var(--ltp-border); border-radius: var(--ltp-radius-lg); padding: 1.25rem; box-shadow: var(--ltp-shadow); transition: box-shadow .15s; }
.ltp-app-card:hover { box-shadow: var(--ltp-shadow-md); }
.ltp-app-card-main { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.ltp-app-candidate { font-size: 1.1rem; font-weight: 700; color: var(--ltp-brown); margin: 0 0 .35rem; }
.ltp-app-meta { display: flex; gap: 1rem; flex-wrap: wrap; color: #666; font-size: .87rem; }
.ltp-app-card-footer { margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--ltp-border); }

/* ── Stage Tracker ── */
.ltp-stage-track { display: flex; align-items: center; margin: 1rem 0; gap: 0; flex-wrap: nowrap; overflow-x: auto; }
.ltp-stage { display: flex; flex-direction: column; align-items: center; gap: .25rem; min-width: 70px; }
.ltp-stage-icon { font-size: 1.4rem; }
.ltp-stage-label { font-size: .75rem; font-weight: 600; color: #555; text-align: center; }
.ltp-stage-connector { flex: 1; height: 2px; background: #ddd; min-width: 20px; margin-bottom: .5rem; }
.ltp-stage--approved .ltp-stage-icon { color: var(--ltp-approved); }
.ltp-stage--rejected .ltp-stage-icon { color: var(--ltp-rejected); }
.ltp-stage-track--lg .ltp-stage-bubble { width: 42px; height: 42px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 1.2rem; background: var(--ltp-gold-light); border: 2px solid var(--ltp-border); }
.ltp-stage-track--lg .ltp-stage--approved .ltp-stage-bubble { background: var(--ltp-approved-bg); border-color: var(--ltp-approved); }
.ltp-stage-track--lg .ltp-stage--rejected .ltp-stage-bubble { background: var(--ltp-rejected-bg); border-color: var(--ltp-rejected); }
.ltp-stage-track--lg .ltp-stage-label { font-size: .85rem; }

/* ── Empty State ── */
.ltp-empty-state { text-align: center; padding: 3rem; background: #fff; border: 1.5px solid var(--ltp-border); border-radius: var(--ltp-radius-lg); }
.ltp-empty-icon { font-size: 3rem; margin-bottom: 1rem; }
.ltp-empty-state h3 { font-size: 1.2rem; color: var(--ltp-brown); }
.ltp-empty-state p { color: #777; }

/* ── Application Detail ── */
.ltp-detail-wrap { max-width: 1100px; }
.ltp-detail-header { display: flex; align-items: center; gap: 1rem; margin-bottom: 1.5rem; flex-wrap: wrap; }
.ltp-detail-header h2 { font-size: 1.5rem; font-weight: 700; color: var(--ltp-brown); margin: 0; flex: 1; }
.ltp-back-link { color: var(--ltp-gold); text-decoration: none; font-weight: 600; white-space: nowrap; }
.ltp-back-link:hover { color: var(--ltp-brown); }
.ltp-detail-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.25rem; margin: 1.25rem 0; }
.ltp-detail-card { background: #fff; border: 1.5px solid var(--ltp-border); border-radius: var(--ltp-radius-lg); padding: 1.25rem; box-shadow: var(--ltp-shadow); }
.ltp-detail-card--full { grid-column: 1 / -1; }
.ltp-card-title { font-size: 1rem; font-weight: 700; color: var(--ltp-brown); margin: 0 0 1rem; padding-bottom: .6rem; border-bottom: 2px solid var(--ltp-gold-light); }
.ltp-dl { display: grid; grid-template-columns: auto 1fr; gap: .4rem .75rem; margin: 0; font-size: .9rem; }
.ltp-dl dt { font-weight: 600; color: #555; white-space: nowrap; }
.ltp-dl dd { margin: 0; color: #1a1a1a; word-break: break-word; }
.ltp-dl--two-col { grid-template-columns: 1fr 1fr auto 1fr; }

/* ── Document Items ── */
.ltp-doc-item { display: flex; align-items: flex-start; gap: .75rem; padding: .75rem; background: #f8f5f0; border-radius: var(--ltp-radius); margin-bottom: .5rem; }
.ltp-doc-icon { font-size: 1.3rem; flex-shrink: 0; }
.ltp-doc-info { flex: 1; }
.ltp-doc-link { font-weight: 600; color: var(--ltp-gold); text-decoration: none; display: block; }
.ltp-doc-link:hover { color: var(--ltp-brown); text-decoration: underline; }
.ltp-doc-size, .ltp-doc-meta { font-size: .8rem; color: #888; }
.ltp-notes-box { background: var(--ltp-gold-light); border-radius: var(--ltp-radius); padding: 1rem; margin-top: 1rem; }

/* ── Review History ── */
.ltp-review-history { display: flex; flex-direction: column; gap: .5rem; }
.ltp-review-row { display: grid; grid-template-columns: 100px 100px 1fr; gap: .5rem 1rem; align-items: start; padding: .75rem; border-radius: var(--ltp-radius); background: #f9f7f4; font-size: .9rem; }
.ltp-review-tier { font-weight: 700; color: var(--ltp-brown); }
.ltp-review-by { color: #555; }
.ltp-review-notes { grid-column: 1 / -1; color: #444; font-style: italic; padding-top: .25rem; border-top: 1px solid #e5ddd0; margin-top: .25rem; }

/* ── Review Panel ── */
.ltp-review-panel { background: #fff; border: 2px solid var(--ltp-gold); border-radius: var(--ltp-radius-lg); padding: 1.5rem; margin-top: 1.5rem; box-shadow: var(--ltp-shadow-md); }
.ltp-review-panel h3 { color: var(--ltp-brown); margin: 0 0 1.25rem; font-size: 1.1rem; }

/* ── Filter Bar ── */
.ltp-filter-bar { display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; margin-bottom: 1.25rem; padding: .6rem 1rem; background: var(--ltp-gold-light); border-radius: var(--ltp-radius); border: 1px solid #e5d9c0; font-size: .9rem; }
.ltp-filter-link { padding: .3rem .85rem; border-radius: 20px; text-decoration: none; color: var(--ltp-brown); font-weight: 500; transition: background .15s; }
.ltp-filter-link:hover, .ltp-filter-link.active { background: var(--ltp-brown); color: #fff; }

/* ── Admin Specific ── */
.ltp-admin .ltp-admin-detail-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; margin-bottom: 1.5rem; }
.ltp-admin .ltp-admin-two-col { display: grid; grid-template-columns: 1fr 2fr; gap: 2rem; }
.ltp-admin .ltp-doc-item { background: #f0f0f0; }
.ltp-admin-col h3 { color: var(--ltp-brown); border-bottom: 2px solid var(--ltp-gold-light); padding-bottom: .5rem; }

/* ── Officer Config ── */
.ltp-config-section { margin-bottom: 2rem; }
.ltp-config-section h2 { color: var(--ltp-brown); border-bottom: 3px solid var(--ltp-gold); padding-bottom: .5rem; }
.ltp-config-entity { margin-bottom: 1.5rem; padding: 1rem; background: #fafaf8; border: 1px solid var(--ltp-border); border-radius: var(--ltp-radius); }
.ltp-config-entity h3 { font-size: .95rem; color: #444; margin: 0 0 .75rem; }
.ltp-officer-row { display: flex; align-items: center; justify-content: space-between; padding: .5rem .75rem; background: var(--ltp-approved-bg); border-radius: var(--ltp-radius); margin-bottom: .4rem; }
.ltp-officer-name { font-size: .9rem; font-weight: 600; color: var(--ltp-approved); }
.ltp-add-officer { margin-top: .75rem; position: relative; }
.ltp-user-search { width: 100%; max-width: 400px; }
.ltp-user-results { position: absolute; top: 100%; left: 0; z-index: 100; background: #fff; border: 1px solid #ccc; border-radius: var(--ltp-radius); width: 400px; max-height: 200px; overflow-y: auto; box-shadow: var(--ltp-shadow-md); display: none; }
.ltp-user-result-item { padding: .5rem .85rem; cursor: pointer; font-size: .9rem; border-bottom: 1px solid #eee; }
.ltp-user-result-item:hover { background: var(--ltp-gold-light); }

/* ── Misc ── */
.ltp-muted { color: #999; font-style: italic; }
.ltp-table { width: 100%; border-collapse: collapse; font-size: .9rem; }
.ltp-table th { background: var(--ltp-brown); color: #fff; padding: .65rem 1rem; text-align: left; font-size: .82rem; }
.ltp-table td { padding: .65rem 1rem; border-bottom: 1px solid var(--ltp-border); }
.ltp-table tr:last-child td { border-bottom: none; }
.ltp-table tr:hover td { background: var(--ltp-gold-light); }

/* ── Responsive ── */
@media ( max-width: 768px ) {
    .ltp-field-grid { grid-template-columns: 1fr; }
    .ltp-field--half, .ltp-field--third { grid-column: span 1; }
    .ltp-detail-grid { grid-template-columns: 1fr; }
    .ltp-app-card-main { flex-direction: column; }
    .ltp-admin .ltp-admin-two-col { grid-template-columns: 1fr; }
    .ltp-admin .ltp-admin-detail-grid { grid-template-columns: 1fr; }
    .ltp-review-row { grid-template-columns: 1fr 1fr; }
}

/* ── Pipe-separated meta (Review Queue) ── */
.ltp-app-meta--pipe {
    display: flex;
    align-items: center;
    gap: .45rem;
    flex-wrap: wrap;
    font-size: .9rem;
    font-weight: 500;
    color: #444;
}
.ltp-pipe {
    color: #bbb;
    font-weight: 400;
    user-select: none;
}

/* ── Review Application button — white text ── */
.ltp-btn--primary,
.ltp-btn--primary:visited,
.ltp-btn--primary:hover,
a.ltp-btn--primary {
    color: #ffffff !important;
}

/* ── Admin table header white text (belt + suspenders) ── */
.ltp-table thead th,
.ltp-admin .ltp-table thead th,
.ltp-admin table.widefat thead th {
    color: #ffffff !important;
}
