/**
 * RSYI Student Affairs – Student Portal CSS (RTL)
 */

/* ── Container ───────────────────────────────────────────────────── */
.rsyi-portal {
    direction: rtl;
    font-family: -apple-system, 'Segoe UI', Arial, sans-serif;
    max-width: 900px;
    margin: 0 auto;
    padding: 20px 16px;
}

.rsyi-portal h2 {
    font-size: 24px;
    margin-bottom: 4px;
    color: #1a5f7a;
}

.rsyi-portal h3 {
    font-size: 18px;
    color: #333;
    border-bottom: 2px solid #e0e0e0;
    padding-bottom: 8px;
    margin-top: 28px;
}

/* ── Alerts ──────────────────────────────────────────────────────── */
.rsyi-alert {
    padding: 12px 16px;
    border-radius: 6px;
    margin: 16px 0;
    font-size: 14px;
}

.rsyi-alert-danger {
    background: #fdf2f2;
    border: 1px solid #e74c3c;
    color: #922b21;
}

.rsyi-alert-success {
    background: #eafaf1;
    border: 1px solid #27ae60;
    color: #1a7a4a;
}

.rsyi-alert-warning {
    background: #fef9e7;
    border: 1px solid #f39c12;
    color: #784212;
}

/* ── Warning items ───────────────────────────────────────────────── */
.rsyi-warning-item {
    border-bottom: 1px dashed #e74c3c;
    padding: 10px 0;
}

.rsyi-ack-btn {
    background: #e74c3c !important;
    color: #fff !important;
    border-color: #c0392b !important;
    cursor: pointer;
}

/* ── Info cards ──────────────────────────────────────────────────── */
.rsyi-info-cards {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 14px;
    margin: 20px 0;
}

.rsyi-info-card {
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 8px;
    padding: 16px;
    text-align: center;
    box-shadow: 0 1px 4px rgba(0,0,0,.06);
}

.rsyi-info-label {
    display: block;
    font-size: 12px;
    color: #888;
    margin-bottom: 6px;
}

.rsyi-info-value {
    display: block;
    font-size: 18px;
    font-weight: 700;
    color: #1a5f7a;
}

.rsyi-pts-warning .rsyi-info-value { color: #e67e22; }
.rsyi-pts-danger  .rsyi-info-value { color: #c0392b; }

/* ── Portal nav links ────────────────────────────────────────────── */
.rsyi-portal-links {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin: 24px 0;
}

.rsyi-portal-link {
    display: inline-block;
    background: #1a5f7a;
    color: #fff !important;
    padding: 12px 24px;
    border-radius: 6px;
    text-decoration: none !important;
    font-size: 15px;
    transition: background .2s;
}

.rsyi-portal-link:hover {
    background: #134a5e;
}

/* ── Document grid ───────────────────────────────────────────────── */
.rsyi-doc-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 16px;
    margin: 20px 0;
}

.rsyi-doc-card {
    background: #fff;
    border: 2px solid #ddd;
    border-radius: 8px;
    padding: 16px;
    transition: border-color .2s;
}

.rsyi-doc-approved { border-color: #27ae60; }
.rsyi-doc-rejected { border-color: #e74c3c; }
.rsyi-doc-pending  { border-color: #f39c12; }
.rsyi-doc-missing  { border-color: #bbb; }

.rsyi-doc-header {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;
}

.rsyi-doc-icon { font-size: 22px; }

.rsyi-doc-label {
    flex: 1;
    font-weight: 600;
    font-size: 13px;
}

.rsyi-doc-status {
    font-size: 11px;
    color: #666;
}

.rsyi-doc-rejection {
    background: #fdf2f2;
    border: 1px solid #e74c3c;
    border-radius: 4px;
    padding: 8px 10px;
    font-size: 12px;
    margin-bottom: 10px;
    color: #922b21;
}

/* ── Upload form ─────────────────────────────────────────────────── */
.rsyi-upload-form {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.rsyi-upload-status {
    font-size: 12px;
    color: #555;
}

/* ── Sections ────────────────────────────────────────────────────── */
.rsyi-section {
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 20px 24px;
    margin-bottom: 24px;
}

/* ── Portal tables ───────────────────────────────────────────────── */
.rsyi-portal-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}

.rsyi-portal-table th {
    background: #1a5f7a;
    color: #fff;
    padding: 8px 12px;
    text-align: right;
}

.rsyi-portal-table td {
    padding: 8px 12px;
    border-bottom: 1px solid #e0e0e0;
}

.rsyi-portal-table tr:nth-child(even) td {
    background: #f8fafc;
}

/* ── Badges ──────────────────────────────────────────────────────── */
.rsyi-badge {
    display: inline-block;
    padding: 2px 10px;
    border-radius: 12px;
    font-size: 11px;
    font-weight: 600;
}

.rsyi-status-approved  { background: #d4edda; color: #155724; }
.rsyi-status-executed  { background: #cce5ff; color: #004085; }
.rsyi-status-rejected  { background: #f8d7da; color: #721c24; }
.rsyi-status-pending_dorm,
.rsyi-status-pending_supervisor,
.rsyi-status-pending_manager,
.rsyi-status-pending_dean { background: #fff3cd; color: #856404; }

/* ── Hint text ───────────────────────────────────────────────────── */
.rsyi-hint {
    color: #666;
    font-size: 13px;
    margin-bottom: 16px;
}

/* ── Form status messages ────────────────────────────────────────── */
.rsyi-form-status {
    display: inline-block;
    margin-right: 12px;
    font-size: 13px;
}

/* ── Register form ───────────────────────────────────────────────── */
.rsyi-register {
    max-width: 720px;
}

.rsyi-success {
    color: #1a7a4a;
    font-weight: 600;
}
