* { margin: 0; padding: 0; box-sizing: border-box; }
body {
    font-family: Arial, sans-serif;
    font-size: 11pt;
    line-height: 1.5;
    color: #000;
    background: #fff;
    max-width: 800px;
    margin: 40px auto;
    padding: 0 40px 60px;
}
h1 { font-size: 20pt; font-weight: bold; letter-spacing: 0.5px; margin-bottom: 4px; }
.subtitle { font-size: 11pt; color: #333; margin-bottom: 6px; }
.contact { font-size: 10pt; color: #333; margin-bottom: 20px; }
.contact span { margin-right: 16px; }
hr { border: none; border-top: 1.5px solid #000; margin: 0 0 8px 0; }
h2 { font-size: 11pt; font-weight: bold; text-transform: uppercase; letter-spacing: 1px; margin-bottom: 4px; margin-top: 18px; }
p { margin-bottom: 8px; font-size: 11pt; }
.job-title { font-weight: bold; font-size: 11pt; margin-top: 14px; margin-bottom: 1px; }
.job-meta { font-size: 10.5pt; color: #333; margin-bottom: 5px; }
ul { padding-left: 18px; margin-bottom: 4px; }
ul li { font-size: 11pt; margin-bottom: 3px; }
.skills-row { margin-bottom: 4px; font-size: 11pt; }
.skills-row strong { display: inline-block; min-width: 160px; }
@media print { body { margin: 0; padding: 20px 40px 40px; } .fab, .popup-overlay { display: none !important; } }

.fab {
    position: fixed; bottom: 32px; right: 32px;
    width: 52px; height: 52px; border-radius: 50%;
    background: #1565C0; color: #fff; border: none; cursor: pointer;
    box-shadow: 0 4px 16px rgba(21,101,192,.45);
    display: flex; align-items: center; justify-content: center;
    font-size: 22px; transition: background .15s, transform .15s; z-index: 100;
}
.fab:hover { background: #0D47A1; transform: scale(1.08); }

.popup-overlay {
    display: none; position: fixed; inset: 0;
    background: rgba(0,0,0,.35); z-index: 200;
    align-items: center; justify-content: center;
}
.popup-overlay.open { display: flex; }

.popup {
    background: #fff; border-radius: 10px; padding: 32px 28px 24px;
    width: 340px; box-shadow: 0 8px 40px rgba(0,0,0,.22);
    position: relative; font-family: Arial, sans-serif;
}
.popup h3 { font-size: 15px; font-weight: bold; color: #0F1923; margin-bottom: 6px; }
.popup p  { font-size: 12px; color: #546E7A; margin-bottom: 22px; line-height: 1.5; }
.popup-close {
    position: absolute; top: 12px; right: 16px;
    background: none; border: none; font-size: 20px;
    color: #90A4AE; cursor: pointer; line-height: 1;
}
.popup-close:hover { color: #0F1923; }

.popup-btn {
    display: flex; align-items: center; gap: 12px;
    width: 100%; padding: 13px 16px; border-radius: 7px;
    border: 1.5px solid #E0E0E0; background: #fff;
    cursor: pointer; margin-bottom: 10px; text-align: left;
    transition: border-color .15s, background .15s;
}
.popup-btn:last-of-type { margin-bottom: 0; }
.popup-btn:hover { border-color: #1565C0; background: #E8F0FE; }
.popup-btn .btn-icon {
    width: 36px; height: 36px; border-radius: 6px; background: #1565C0;
    display: flex; align-items: center; justify-content: center;
    font-size: 18px; flex-shrink: 0;
}
.popup-btn .btn-label { font-size: 13px; font-weight: bold; color: #0F1923; }
.popup-btn .btn-sub   { font-size: 11px; color: #78909C; margin-top: 1px; }

.popup-status {
    margin-top: 14px; font-size: 12px; color: #1565C0;
    text-align: center; min-height: 18px;
}
.popup-status.error { color: #C62828; }