/* NAFH Patient Portal + Chatbot - v2.7.0 */
.npp{font-family:'Segoe UI',Tahoma,Arial,sans-serif;direction:rtl;text-align:right;background:#f4f7f4;min-height:100vh;color:#1f2937;line-height:1.6;padding-bottom:40px}
.npp *{box-sizing:border-box}
.npp-header{background:#1B5E20;color:#fff;padding:14px 28px;display:flex;justify-content:space-between;align-items:center;border-radius:0 0 12px 12px}
.npp-header-right{display:flex;align-items:center;gap:10px}
.npp-header-right h1{font-size:1.1em;margin:0}
.npp-header-right p{font-size:.78em;opacity:.8;margin:0}
.npp-header-left{display:flex;align-items:center;gap:12px;font-size:.88em}
.npp-header-left button{background:rgba(255,255,255,.25);border:1px solid rgba(255,255,255,.4);color:#fff;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:.85em;font-weight:600}
.npp-content{max-width:1200px;margin:0 auto;padding:24px 20px}

/* Section titles */
.npp-section-title{font-size:1.1em;font-weight:700;color:#166534;margin-bottom:16px;display:flex;align-items:center;gap:8px}

/* Children grid */
.npp-children-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px;margin-bottom:28px}
.npp-child-card{background:#fff;border:1px solid #C8E6C9;border-radius:12px;padding:20px;text-align:center;box-shadow:0 2px 6px rgba(0,0,0,0.04);transition:box-shadow .2s}
.npp-child-card:hover{box-shadow:0 4px 12px rgba(0,0,0,.08)}
.npp-child-icon{width:44px;height:44px;background:#dcfce7;border-radius:50%;margin:0 auto 10px;display:flex;align-items:center;justify-content:center;color:#166534;font-size:1.3em}
.npp-child-name{font-weight:600;font-size:.92em;margin-bottom:4px}
.npp-child-file{font-size:.78em;color:#6b7280}
.npp-add-child{background:#1B5E20;color:#fff;border:none;padding:10px 20px;border-radius:8px;font-size:.88em;font-weight:600;cursor:pointer;margin-bottom:24px}
.npp-add-child:hover{background:#14532d}

/* Countdown */
.npp-countdown{background:#E8F5E9;border-radius:12px;padding:20px;text-align:center;margin-bottom:28px;border:1px solid #A5D6A7}
.npp-countdown-label{font-size:.85em;color:#166534;margin-bottom:4px}
.npp-countdown-value{font-size:1.6em;font-weight:700;color:#1B5E20}

/* Appointment cards */
.npp-appt-list{display:grid;gap:12px;margin-bottom:28px}
.npp-appt-card{background:#fff;border:1px solid #C8E6C9;border-radius:12px;padding:16px 20px;box-shadow:0 2px 8px rgba(0,0,0,0.04);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}
.npp-appt-info{flex:1}
.npp-appt-info h4{font-size:.92em;font-weight:600;margin:0 0 4px}
.npp-appt-info p{font-size:.82em;color:#6b7280;margin:2px 0}
.npp-appt-actions{display:flex;gap:8px;align-items:center}
.npp-badge{padding:3px 10px;border-radius:12px;font-size:.72em;font-weight:600}
.npp-badge-booked{background:#dbeafe;color:#1e40af}
.npp-badge-completed{background:#dcfce7;color:#166534}
.npp-badge-noshow{background:#fee2e2;color:#991b1b}
.npp-badge-rescheduled{background:#f3e8ff;color:#6b21a8}
.npp-reschedule-btn{background:#fff;border:1.5px solid #dc2626;color:#dc2626;padding:6px 14px;border-radius:8px;font-size:.78em;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:4px}
.npp-reschedule-btn:hover{background:#fef2f2}

/* Add child modal */
.npp-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px}
.npp-modal{background:#fff;border-radius:16px;padding:28px;max-width:400px;width:100%}
.npp-modal h3{margin:0 0 16px;color:#166534}
.npp-modal input{width:100%;padding:10px 12px;border:1.5px solid #d1d5db;border-radius:8px;margin-bottom:12px;font-size:.9em;direction:rtl}
.npp-modal input:focus{border-color:#166534;outline:none}
.npp-modal-btns{display:flex;gap:10px;margin-top:8px}
.npp-modal-btns button{flex:1;padding:10px;border-radius:8px;font-weight:600;cursor:pointer;border:none}
.npp-modal-btns .primary{background:#1B5E20;color:#fff}
.npp-modal-btns .secondary{background:#f3f4f6;color:#374151}

/* === CHATBOT === */
.npp-chatbot-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:2000;display:flex;align-items:flex-end;justify-content:center;padding:0}
@media(min-width:600px){.npp-chatbot-overlay{align-items:center;padding:20px}}
.npp-chatbot{background:#fff;width:100%;max-width:420px;height:85vh;max-height:600px;border-radius:16px 16px 0 0;display:flex;flex-direction:column;overflow:hidden;animation:chatSlideUp .3s ease}
@media(min-width:600px){.npp-chatbot{border-radius:16px;height:auto;max-height:580px}}
@keyframes chatSlideUp{from{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}

.npp-chat-header{background:#1B5E20;color:#fff;padding:14px 18px;display:flex;justify-content:space-between;align-items:center}
.npp-chat-header h3{margin:0;font-size:.95em}
.npp-chat-header p{margin:2px 0 0;font-size:.72em;opacity:.8}
.npp-chat-close{background:none;border:none;color:#fff;font-size:1.3em;cursor:pointer;padding:4px 8px}

.npp-chat-body{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px;background:#f9fafb}
.npp-chat-msg{max-width:85%;padding:10px 14px;border-radius:12px;font-size:.88em;line-height:1.5;animation:msgFade .3s ease}
@keyframes msgFade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.npp-chat-msg.bot{background:#fff;border:1px solid #e5e7eb;align-self:flex-start;border-bottom-left-radius:4px}
.npp-chat-msg.user{background:#1B5E20;color:#fff;align-self:flex-end;border-bottom-right-radius:4px}
.npp-chat-msg .bot-icon{font-size:.7em;color:#6b7280;margin-bottom:2px}

.npp-chat-options{display:flex;flex-wrap:wrap;gap:6px;padding:0 16px 12px}
.npp-chat-option{padding:8px 14px;border:1px solid #d1d5db;border-radius:20px;font-size:.8em;cursor:pointer;background:#fff;transition:all .2s}
.npp-chat-option:hover{border-color:#166534;color:#166534;background:#f0fdf4}
.npp-chat-option.selected{background:#1B5E20;color:#fff;border-color:#166534}

.npp-chat-slots{display:flex;flex-wrap:wrap;gap:6px;padding:0 16px 12px}
.npp-chat-slot{padding:8px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:.78em;cursor:pointer;background:#fff;text-align:center;min-width:80px}
.npp-chat-slot:hover,.npp-chat-slot.selected{background:#1B5E20;color:#fff;border-color:#166534}
.npp-chat-slot-date{font-weight:600;display:block}
.npp-chat-slot-time{font-size:.9em;opacity:.9}

.npp-chat-typing{padding:10px 14px;font-size:.82em;color:#6b7280;align-self:flex-start}
.npp-chat-typing::after{content:'...';animation:dots 1.2s infinite}
@keyframes dots{0%,20%{content:'.'}40%{content:'..'}60%,100%{content:'...'}}

.npp-chat-warning{background:#fef3c7;border:1px solid #fde68a;border-radius:10px;padding:12px;margin:8px 16px;font-size:.82em;color:#92400e}

/* Responsive */
@media(max-width:600px){.npp-children-grid{grid-template-columns:repeat(2,1fr)}.npp-appt-card{flex-direction:column;align-items:flex-start}.npp-content{padding:16px 12px}}
