/* Client Document Portal — standalone styles (site's own out.css/main.css are also loaded for fonts/reset) */
body.portal-body {
    background: #f4f6f8;
    font-family: 'DM Sans', Arial, sans-serif;
    color: #232323;
}

.portal-topbar {
    background: #ffffff;
    padding: 14px 0;
    border-bottom: 1px solid #e8ebee;
}
.portal-topbar .container {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.portal-topbar img { height: 34px; }
.portal-topbar a.portal-home-link {
    color: #041D44;
    text-decoration: none;
    font-size: 14px;
}
.portal-topbar .portal-user {
    color: #232323;
    font-size: 14px;
}
.portal-topbar .portal-user a {
    color: #1F9E38;
    margin-left: 14px;
    text-decoration: none;
    font-weight: 600;
}

.portal-wrap {
    max-width: 960px;
    margin: 40px auto;
    padding: 0 16px;
}

.portal-card {
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 2px 10px rgba(4,29,68,0.08);
    padding: 28px 30px;
    margin-bottom: 24px;
}

.portal-card h2 {
    color: #041D44;
    font-size: 20px;
    margin-bottom: 18px;
}

.portal-auth-card {
    max-width: 420px;
    margin: 60px auto;
}

.portal-form label {
    display: block;
    font-size: 13px;
    color: #444;
    margin-bottom: 5px;
    margin-top: 14px;
}
.portal-form input[type=text],
.portal-form input[type=email],
.portal-form input[type=password],
.portal-form input[type=tel],
.portal-form input[type=file],
.portal-form textarea {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid #dfe3e8;
    border-radius: 6px;
    font-size: 14px;
    box-sizing: border-box;
}

.portal-btn {
    display: inline-block;
    background: #1F9E38;
    color: #fff;
    border: none;
    padding: 10px 22px;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    text-decoration: none;
    margin-top: 18px;
}
.portal-btn:hover { background: #167A2A; color: #fff; }
.portal-btn.secondary { background: #041D44; }
.portal-btn.secondary:hover { background: #082a5e; }
.portal-btn.danger { background: #c0392b; }

.portal-alert {
    padding: 10px 14px;
    border-radius: 6px;
    font-size: 14px;
    margin-bottom: 16px;
}
.portal-alert.error { background: #fdecea; color: #c0392b; border: 1px solid #f5c6c1; }
.portal-alert.success { background: #E8F7EA; color: #167A2A; border: 1px solid #b9e6c2; }

table.portal-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
}
table.portal-table th, table.portal-table td {
    text-align: left;
    padding: 10px 8px;
    border-bottom: 1px solid #eef1f4;
}
table.portal-table th { color: #6a7480; font-weight: 600; font-size: 12px; text-transform: uppercase; }

.status-badge {
    display: inline-block;
    padding: 3px 10px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 600;
}
.status-pending { background: #fff4e0; color: #b8860b; }
.status-uploaded { background: #e6f0ff; color: #1a56b0; }
.status-approved { background: #E8F7EA; color: #167A2A; }
.status-rejected { background: #fdecea; color: #c0392b; }

.portal-auth-links { text-align: center; margin-top: 16px; font-size: 14px; }
.portal-auth-links a { color: #1F9E38; text-decoration: none; }
