/* AEGIS Enlistment Form Styles */
.aegis-enlist-wrap { max-width:680px; margin:0 auto; font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; }
.aegis-enlist-errors { background:#fff5f5; border:1.5px solid #fecaca; border-radius:7px; padding:12px 16px; margin-bottom:16px; }
.aegis-enlist-error-item { color:#dc2626; font-size:0.85rem; padding:3px 0; }
.aegis-enlist-form { background:#fff; border:1.5px solid #e2e8f0; border-radius:10px; overflow:hidden; text-align:left; }
.aegis-enlist-step { padding:0; }
.aegis-enlist-step-header { padding:20px 24px 16px; border-bottom:1.5px solid #f1f5f9; }
.aegis-enlist-step-num { font-size:0.72rem; font-weight:700; color:#94a3b8; text-transform:uppercase; letter-spacing:0.07em; }
.aegis-enlist-step-header h3 { margin:4px 0 0; font-size:1.1rem; font-weight:700; color:#1a2332; }
.aegis-enlist-conditions { padding:16px 24px; font-size:0.88rem; line-height:1.7; color:#374151; border-bottom:1px solid #f1f5f9; max-height:480px; overflow-y:auto; text-align:left; }
.aegis-enlist-conditions p { margin:0; text-align:left; }
.aegis-enlist-conditions p + p { margin-top:8px; }
.aegis-enlist-conditions br { display:block; content:""; margin-top:4px; }
.aegis-enlist-conditions ul { margin:4px 0 8px 20px; padding:0; list-style:disc; text-align:left; }
.aegis-enlist-conditions ul li { margin-bottom:4px; text-align:left; }
.aegis-enlist-conditions ol { margin:4px 0 8px 20px; padding:0; list-style:decimal; text-align:left; }
.aegis-enlist-conditions ol li { margin-bottom:4px; text-align:left; }
.aegis-enlist-conditions strong { font-weight:700; }
.aegis-enlist-conditions em { font-style:italic; }
.aegis-enlist-privacy { margin:16px 24px; border:1.5px solid #fbbf24; background:#fefce8; border-radius:6px; overflow:hidden; }
.aegis-enlist-privacy-heading { padding:10px 16px 8px; font-size:0.72rem; font-weight:700; text-transform:uppercase; letter-spacing:0.07em; color:#92400e; background:#fef3c7; border-bottom:1px solid #fbbf24; text-align:left; }
.aegis-enlist-privacy-body { padding:14px 16px; font-size:0.83rem; line-height:1.75; color:#374151; max-height:280px; overflow-y:auto; text-align:left; }
.aegis-enlist-privacy-body p { margin:0 0 10px; text-align:left; }
.aegis-enlist-privacy-body ul { margin:4px 0 10px 16px; padding:0; list-style:disc; text-align:left; }
.aegis-enlist-privacy-body ul li { margin-bottom:4px; text-align:left; }
.aegis-enlist-accept-row { padding:16px 24px; border-bottom:1px solid #f1f5f9; display:flex; justify-content:center; }
.aegis-enlist-accept-label { display:flex; align-items:center; gap:10px; font-size:0.88rem; font-weight:600; color:#374151; cursor:pointer; }
.aegis-enlist-accept-label input[type="checkbox"] { width:16px; height:16px; flex-shrink:0; cursor:pointer; }
.aegis-enlist-step-footer { padding:16px 24px; background:#f8fafc; border-top:1.5px solid #e2e8f0; display:flex; gap:10px; align-items:center; justify-content:flex-end; }
.aegis-enlist-btn-next { height:38px; padding:0 24px; background:#2172e7; color:#fff; border:none; border-radius:6px; font-size:0.85rem; font-weight:600; cursor:pointer; transition:background 0.15s; }
.aegis-enlist-btn-next:hover { background:#1558c0; }
.aegis-enlist-btn-next:disabled { background:#94a3b8; cursor:not-allowed; }
.aegis-enlist-btn-back { height:38px; padding:0 18px; background:#fff; color:#64748b; border:1.5px solid #d1d9e0; border-radius:6px; font-size:0.85rem; font-weight:600; cursor:pointer; box-shadow:none; }
.aegis-enlist-btn-back:hover { background:#f1f5f9; color:#64748b; border-color:#d1d9e0; box-shadow:none; }
.aegis-enlist-btn-submit { height:38px; padding:0 28px; background:#16a34a; color:#fff; border:none; border-radius:6px; font-size:0.85rem; font-weight:600; cursor:pointer; transition:background 0.15s; }
.aegis-enlist-btn-submit:hover { background:#15803d; }
.aegis-enlist-section-label { padding:10px 24px 6px; font-size:0.68rem; font-weight:700; text-transform:uppercase; letter-spacing:0.08em; color:#94a3b8; border-bottom:1px solid #f1f5f9; background:#f8fafc; }
.aegis-enlist-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; padding:16px 24px; }
.aegis-enlist-field { display:flex; flex-direction:column; gap:4px; }
.aegis-enlist-full { grid-column:1/-1; }
.aegis-enlist-field label { font-size:0.78rem; font-weight:600; color:#374151; text-align:left; }
.aegis-req { color:#dc2626; }
.aegis-enlist-field input[type="text"],
.aegis-enlist-field input[type="email"],
.aegis-enlist-field input[type="url"],
.aegis-enlist-field input[type="date"],
.aegis-enlist-field select { height:38px; border:1.5px solid #d1d9e0; border-radius:6px; padding:0 10px; font-size:0.85rem; color:#374151; background:#fff; width:100%; box-sizing:border-box; transition:border-color 0.15s; }
.aegis-enlist-field input:focus,
.aegis-enlist-field select:focus { border-color:#2172e7; outline:none; box-shadow:0 0 0 3px rgba(33,114,231,0.1); }
.aegis-enlist-field textarea { border:1.5px solid #d1d9e0; border-radius:6px; padding:10px; font-size:0.85rem; color:#374151; background:#fff; width:100%; box-sizing:border-box; resize:vertical; min-height:100px; transition:border-color 0.15s; }
.aegis-enlist-field textarea:focus { border-color:#2172e7; outline:none; box-shadow:0 0 0 3px rgba(33,114,231,0.1); }
.aegis-hp-field { position:absolute; left:-9999px; opacity:0; pointer-events:none; }
.aegis-enlist-success { padding:40px 24px; text-align:center; }
.aegis-enlist-success-icon { font-size:3rem; color:#16a34a; margin-bottom:12px; }
.aegis-enlist-success h3 { font-size:1.3rem; font-weight:700; color:#1a2332; margin:0 0 8px; }
.aegis-enlist-success p { font-size:0.9rem; color:#64748b; margin:0 0 8px; }
.aegis-enlist-link { color:#2172e7; font-weight:600; text-decoration:none; }
.aegis-enlist-link:hover { text-decoration:underline; }
@media (max-width: 600px) {
    .aegis-enlist-grid { grid-template-columns:1fr; }
    .aegis-enlist-full { grid-column:1; }
}

/* =====================================================================
   AEGIS Status Page
   ===================================================================== */

.aegis-status-wrap {
    max-width: 600px;
    margin: 0 auto;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

/* Invalid / notices */
.aegis-status-invalid {
    padding: 20px 24px;
    background: #fff5f5;
    border: 1.5px solid #fecaca;
    border-radius: 8px;
    color: #dc2626;
    font-size: 0.88rem;
}

.aegis-status-notice {
    padding: 12px 16px;
    border-radius: 7px;
    font-size: 0.85rem;
    margin-bottom: 16px;
}

.aegis-status-success { background: #f0fdf4; border: 1.5px solid #bbf7d0; color: #16a34a; }
.aegis-status-error   { background: #fff5f5; border: 1.5px solid #fecaca; color: #dc2626; }

/* Card */
.aegis-status-card {
    background: #fff;
    border: 1.5px solid #e2e8f0;
    border-radius: 10px;
    overflow: hidden;
}

/* Header */
.aegis-status-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 24px;
    border-bottom: 1.5px solid #f1f5f9;
    gap: 12px;
    flex-wrap: wrap;
}

.aegis-status-name {
    font-size: 1.05rem;
    font-weight: 700;
    color: #1a2332;
    margin-bottom: 3px;
}

.aegis-status-meta {
    font-size: 0.76rem;
    color: #94a3b8;
}

.aegis-status-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 14px;
    border-radius: 20px;
    border: 1.5px solid;
    font-size: 0.8rem;
    font-weight: 700;
    white-space: nowrap;
    flex-shrink: 0;
}

/* Body */
.aegis-status-body {
    padding: 20px 24px;
    font-size: 0.88rem;
    color: #374151;
    line-height: 1.65;
    border-bottom: 1.5px solid #f1f5f9;
}

.aegis-status-body p { margin: 0; }

.aegis-status-response-note {
    margin-top: 14px;
    padding: 12px 14px;
    background: #f8fafc;
    border: 1.5px solid #e2e8f0;
    border-radius: 6px;
    font-size: 0.85rem;
    color: #374151;
    line-height: 1.6;
}

/* Footer — withdrawal */
.aegis-status-footer {
    padding: 16px 24px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.aegis-withdraw-toggle {
    height: 38px;
    padding: 0 18px;
    background: #dc2626 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 6px;
    box-shadow: none !important;
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.15s;
    align-self: flex-end;
}

.aegis-withdraw-toggle:hover {
    background: #b91c1c !important;
    box-shadow: none !important;
    color: #fff !important;
}

.aegis-withdraw-confirm {
    margin-top: 6px;
    width: 100%;
}

.aegis-withdraw-confirm p {
    font-size: 0.85rem;
    color: #374151 !important;
    margin: 0 0 14px;
    line-height: 1.55;
    text-align: left;
}

.aegis-withdraw-actions {
    display: flex;
    gap: 8px;
    justify-content: flex-end;
}

.aegis-withdraw-btn-confirm {
    height: 34px;
    padding: 0 18px;
    background: #dc2626;
    color: #fff;
    border: none;
    border-radius: 6px;
    font-size: 0.82rem;
    font-weight: 600;
    cursor: pointer;
}

.aegis-withdraw-btn-confirm:hover { background: #b91c1c; }

.aegis-withdraw-btn-cancel {
    height: 34px;
    padding: 0 16px;
    background: #fff;
    color: #64748b;
    border: 1.5px solid #d1d9e0;
    border-radius: 6px;
    font-size: 0.82rem;
    font-weight: 600;
    cursor: pointer;
}

.aegis-withdraw-btn-cancel:hover { background: #f1f5f9; }

/* =====================================================================
   Chat Thread
   ===================================================================== */

.aegis-chat-wrap {
    max-width: 600px;
    margin: 12px auto 0;
    background: #fff;
    border: 1.5px solid #e2e8f0;
    border-radius: 10px;
    overflow: hidden;
}

.aegis-chat-header {
    padding: 13px 24px;
    border-bottom: 1.5px solid #f1f5f9;
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    color: #94a3b8;
    background: #f8fafc;
}

.aegis-chat-messages {
    max-height: 380px;
    overflow-y: auto;
    padding: 20px 24px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.aegis-chat-empty {
    text-align: center;
    color: #94a3b8;
    font-size: 0.83rem;
    padding: 20px 0;
}

/* Message bubbles */
.aegis-chat-msg {
    display: flex;
    flex-direction: column;
    gap: 4px;
    max-width: 80%;
}

.aegis-chat-msg-applicant { align-self: flex-end; }
.aegis-chat-msg-staff     { align-self: flex-start; }

.aegis-chat-msg-meta {
    font-size: 0.7rem;
    color: #94a3b8;
    padding: 0 4px;
}

.aegis-chat-msg-applicant .aegis-chat-msg-meta { text-align: right; }

.aegis-chat-msg-body {
    padding: 10px 14px;
    border-radius: 10px;
    font-size: 0.86rem;
    line-height: 1.55;
}

.aegis-chat-msg-applicant .aegis-chat-msg-body {
    background: #2172e7;
    color: #fff;
    border-bottom-right-radius: 3px;
}

.aegis-chat-msg-staff .aegis-chat-msg-body {
    background: #f1f5f9;
    color: #1a2332;
    border-bottom-left-radius: 3px;
}

/* Compose area */
.aegis-chat-form {
    border-top: 1.5px solid #f1f5f9;
}

.aegis-chat-input {
    width: 100%;
    border: none;
    border-bottom: 1.5px solid #f1f5f9;
    padding: 14px 24px;
    font-size: 0.86rem;
    color: #374151;
    resize: none;
    box-sizing: border-box;
    font-family: inherit;
    line-height: 1.5;
}

.aegis-chat-input:focus {
    outline: none;
    border-bottom-color: #2172e7;
}

.aegis-chat-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 24px 12px;
    background: #f8fafc;
    gap: 12px;
}

.aegis-chat-counter {
    font-size: 0.72rem;
    color: #94a3b8;
}

.aegis-chat-send {
    height: 34px;
    padding: 0 20px;
    background: #2172e7;
    color: #fff;
    border: none;
    border-radius: 6px;
    font-size: 0.82rem;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.15s;
}

.aegis-chat-send:hover { background: #1558c0; }

.aegis-chat-readonly {
    padding: 16px 24px;
    font-size: 0.82rem;
    color: #94a3b8;
    text-align: center;
    border-top: 1.5px solid #f1f5f9;
    background: #f8fafc;
}