/* ── rifd-calendar.css — رفد: التقويم الموحد ── */
.cal-nav-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border:none;border-radius:8px;background:transparent;color:inherit;font:inherit;font-size:.85rem;cursor:pointer;white-space:nowrap;transition:background .18s,color .18s}
.cal-nav-btn:hover{background:rgba(23,169,140,.1);color:#17a98c}
.cal-panel{position:fixed;inset:0;z-index:1200;background:#f4f6fb;transform:translateX(100%);transition:transform .32s cubic-bezier(.4,0,.2,1);overflow:hidden;font-family:'Tajawal','Segoe UI',sans-serif;direction:rtl;display:flex;flex-direction:column}
.cal-panel.cal-visible{transform:translateX(0)}
.cal-panel.cal-hidden{transform:translateX(100%)}
.cal-header{display:flex;align-items:center;gap:12px;padding:14px 20px;background:linear-gradient(135deg,#071750 0%,#0d2b8e 100%);color:#fff;flex-shrink:0;box-shadow:0 2px 12px rgba(7,23,80,.3)}
.cal-header-icon{width:38px;height:38px;background:rgba(23,169,140,.25);border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.cal-header-title{flex:1;font-size:1.05rem;font-weight:700}
.cal-header-sub{font-size:.75rem;opacity:.72}
.cal-close-btn{background:rgba(255,255,255,.1);border:none;color:#fff;width:36px;height:36px;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .18s;flex-shrink:0}
.cal-close-btn:hover{background:rgba(255,255,255,.22)}
.cal-toolbar{display:flex;align-items:center;gap:10px;padding:10px 20px;background:#fff;border-bottom:1px solid #e4e8f0;flex-shrink:0;flex-wrap:wrap}
.cal-nav-month{display:flex;align-items:center;gap:6px}
.cal-month-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:1.5px solid #e4e8f0;border-radius:8px;background:#fff;cursor:pointer;color:#374151;transition:all .18s}
.cal-month-btn:hover{border-color:#17a98c;color:#17a98c}
.cal-month-label{font-size:.92rem;font-weight:700;color:#0d2b8e;min-width:120px;text-align:center}
.cal-view-switch{display:flex;gap:4px;margin-right:auto}
.cal-view-btn{padding:6px 14px;border:1.5px solid #e4e8f0;border-radius:8px;background:#fff;font:inherit;font-size:.8rem;font-weight:600;color:#374151;cursor:pointer;transition:all .18s}
.cal-view-btn.active,.cal-view-btn:hover{background:#0d2b8e;border-color:#0d2b8e;color:#fff}
.cal-add-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;background:#17a98c;color:#fff;border:none;border-radius:8px;font:inherit;font-size:.82rem;font-weight:600;cursor:pointer;transition:background .18s}
.cal-add-btn:hover{background:#0e8a72}
.cal-content{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:0}
/* month grid */
.cal-grid{display:flex;flex-direction:column;gap:0;background:#fff;border-radius:14px;border:1px solid #e4e8f0;overflow:hidden}
.cal-weekdays{display:grid;grid-template-columns:repeat(7,1fr);background:#f8faff;border-bottom:1px solid #e4e8f0}
.cal-weekday{padding:8px 4px;text-align:center;font-size:.75rem;font-weight:700;color:#6b7280}
.cal-days{display:grid;grid-template-columns:repeat(7,1fr)}
.cal-day{min-height:88px;padding:6px;border-bottom:1px solid #f1f5f9;border-right:1px solid #f1f5f9;cursor:pointer;transition:background .15s;position:relative}
.cal-day:nth-child(7n){border-right:none}
.cal-day:hover{background:#f8faff}
.cal-day.other-month{background:#fafbff;opacity:.6}
.cal-day.today{background:#f0faf7}
.cal-day.today .cal-day-num{background:#17a98c;color:#fff;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-weight:700}
.cal-day.selected{background:#e8eeff}
.cal-day-num{font-size:.8rem;font-weight:600;color:#374151;width:24px;height:24px;display:flex;align-items:center;justify-content:center;margin-bottom:3px}
.cal-day-events{display:flex;flex-direction:column;gap:2px}
.cal-day-event{padding:1px 5px;border-radius:4px;font-size:.68rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}
.cal-day-event.meeting{background:#dbeafe;color:#1e40af}
.cal-day-event.task{background:#e0e7ff;color:#3730a3}
.cal-day-event.expiry{background:#fee2e2;color:#991b1b}
.cal-day-event.inventory{background:#d1fae5;color:#065f46}
.cal-day-event.deadline{background:#fef3c7;color:#92400e}
.cal-day-event.other{background:#f1f5f9;color:#374151}
.cal-more-events{font-size:.66rem;color:#9ca3af;padding:1px 4px;cursor:pointer}
/* list view */
.cal-list{display:flex;flex-direction:column;gap:8px}
.cal-list-date{font-size:.78rem;font-weight:700;color:#6b7280;padding:12px 0 4px;text-transform:uppercase;letter-spacing:.05em;border-top:1px solid #e4e8f0;margin-top:4px}
.cal-list-date:first-child{border-top:none;margin-top:0}
.cal-list-item{display:flex;align-items:flex-start;gap:10px;background:#fff;border-radius:10px;border:1px solid #e4e8f0;padding:11px 14px;transition:box-shadow .18s;cursor:pointer}
.cal-list-item:hover{box-shadow:0 2px 10px rgba(7,23,80,.08)}
.cal-list-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;margin-top:4px}
.cal-list-dot.meeting{background:#3b82f6}
.cal-list-dot.task{background:#6366f1}
.cal-list-dot.expiry{background:#dc2626}
.cal-list-dot.inventory{background:#17a98c}
.cal-list-dot.deadline{background:#f59e0b}
.cal-list-dot.other{background:#94a3b8}
.cal-list-body{flex:1;min-width:0}
.cal-list-title{font-size:.87rem;font-weight:700;color:#1f2937;margin-bottom:2px}
.cal-list-meta{font-size:.75rem;color:#6b7280}
.cal-list-badge{flex-shrink:0;padding:2px 8px;border-radius:6px;font-size:.72rem;font-weight:700}
.cal-list-badge.meeting{background:#dbeafe;color:#1e40af}
.cal-list-badge.task{background:#e0e7ff;color:#3730a3}
.cal-list-badge.expiry{background:#fee2e2;color:#991b1b}
.cal-list-badge.inventory{background:#d1fae5;color:#065f46}
.cal-list-badge.deadline{background:#fef3c7;color:#92400e}
.cal-list-badge.other{background:#f1f5f9;color:#374151}
.cal-list-actions{display:flex;gap:4px;flex-shrink:0}
.cal-icon-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;border-radius:6px;cursor:pointer;color:#9ca3af;transition:all .15s}
.cal-icon-btn:hover{background:#f1f5f9;color:#374151}
.cal-icon-btn.danger:hover{background:#fee2e2;color:#dc2626}
/* event form modal */
.cal-modal-overlay{position:fixed;inset:0;z-index:1400;background:rgba(7,23,80,.45);display:flex;align-items:center;justify-content:center;padding:16px;direction:rtl}
.cal-modal{background:#fff;border-radius:16px;width:100%;max-width:500px;overflow:hidden;box-shadow:0 20px 60px rgba(7,23,80,.25);animation:cal-modal-in .22s ease}
@keyframes cal-modal-in{from{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}
.cal-modal-head{display:flex;align-items:center;gap:10px;padding:14px 18px;background:#f8faff;border-bottom:1px solid #e4e8f0;font-size:.95rem;font-weight:700;color:#0d2b8e}
.cal-modal-head button{margin-right:auto;background:none;border:none;cursor:pointer;color:#9ca3af;transition:color .15s;display:flex;align-items:center;padding:4px}
.cal-modal-head button:hover{color:#374151}
.cal-modal-form{display:flex;flex-direction:column;gap:14px;padding:18px}
.cal-form-label{display:flex;flex-direction:column;gap:5px;font-size:.82rem;font-weight:600;color:#374151}
.cal-form-label input,.cal-form-label select,.cal-form-label textarea{padding:9px 12px;border:1.5px solid #d1d5db;border-radius:8px;font:inherit;font-size:.88rem;color:#1f2937;transition:border-color .18s}
.cal-form-label input:focus,.cal-form-label select:focus,.cal-form-label textarea:focus{outline:none;border-color:#17a98c}
.cal-form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.cal-form-actions{display:flex;gap:10px;justify-content:flex-end;padding:14px 18px;background:#f8faff;border-top:1px solid #e4e8f0}
.cal-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border:none;border-radius:8px;font:inherit;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .18s;white-space:nowrap}
.cal-btn.teal{background:#17a98c;color:#fff}.cal-btn.teal:hover{background:#0e8a72}
.cal-btn.ghost{background:transparent;color:#374151;border:1.5px solid #d1d5db}.cal-btn.ghost:hover{background:#f3f4f6}
.cal-btn.danger{background:#dc2626;color:#fff}.cal-btn.danger:hover{background:#b91c1c}
/* loading */
.cal-loading{display:flex;align-items:center;justify-content:center;padding:60px;gap:12px;color:#6b7280;font-size:.88rem}
.cal-spinner{width:28px;height:28px;border:3px solid #e4e8f0;border-top-color:#17a98c;border-radius:50%;animation:cal-spin .7s linear infinite}
@keyframes cal-spin{to{transform:rotate(360deg)}}
.cal-empty{padding:48px;text-align:center;color:#9ca3af;font-size:.88rem}
/* event type colors */
[data-cal-color]{background:var(--cal-color,#e0e7ff)}
@media(max-width:640px){.cal-content{padding:8px}.cal-day{min-height:60px}.cal-form-row{grid-template-columns:1fr}.cal-view-switch{display:none}}
