/* ==========================================================================
   Rozin CRM 2026 - פורטל לקוחות ודפים ציבוריים (RTL, מובייל קודם)
   נטען אחרי public.css. תחום ל-.rozin-portal בלבד: פורטל הלקוח, טבלת חיובים,
   סקר שביעות רצון, חתימה על מסמכים ואישור תיקון. אפליקציית הטכנאי (.rtf)
   לא מושפעת - יש לה עיצוב שדה משלה.
   ========================================================================== */

.rozin-portal {
    --rz-font:          'Assistant', -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif;
    --rz-primary:       #1e3a8a;
    --rz-primary-2:     #1e40af;
    --rz-primary-light: #3b82f6;
    --rz-primary-bg:    #eff6ff;
    --rz-success: #059669; --rz-success-bg: #ecfdf5;
    --rz-warning: #d97706; --rz-warning-bg: #fffbeb;
    --rz-danger:  #dc2626; --rz-danger-bg:  #fef2f2;
    --rz-bg: #f8fafc; --rz-card: #ffffff; --rz-border: #e2e8f0; --rz-border-strong: #cbd5e1;
    --rz-text: #0f172a; --rz-muted: #64748b; --rz-head-bg: #f1f5f9;
    --rz-radius-sm: 8px; --rz-radius-md: 12px;
    --rz-shadow-sm: 0 1px 2px rgba(15, 23, 42, .05);
    --rz-shadow-md: 0 4px 6px -1px rgba(15, 23, 42, .08), 0 2px 4px -1px rgba(15, 23, 42, .04);
    --rz-focus: 0 0 0 3px rgba(59, 130, 246, .2);

    /* המשתנים ש-public.css משתמש בהם → הפלטה החדשה */
    --rozin-navy: var(--rz-primary); --rozin-navy-2: var(--rz-primary-2); --rozin-navy-3: #2563eb;
    --rozin-gold: #0284c7; --rozin-gold-light: #38bdf8;
    --rozin-bg: var(--rz-bg); --rozin-card: var(--rz-card); --rozin-border: var(--rz-border);
    --rozin-text: var(--rz-text); --rozin-text-muted: var(--rz-muted);
    --rozin-kanban-green: var(--rz-success); --rozin-kanban-orange: var(--rz-warning);
    --rozin-kanban-red: var(--rz-danger); --rozin-kanban-blue: #2563eb;

    font-family: var(--rz-font);
    font-size: 16px;               /* 16px ומעלה - בלי זום אוטומטי של iOS בשדות */
    line-height: 1.55;
    color: var(--rz-text);
    max-width: 560px;
    padding: 0 12px 32px;
    box-sizing: border-box;
}
.rozin-portal *, .rozin-portal *::before, .rozin-portal *::after { box-sizing: border-box; }
.rozin-portal h2, .rozin-portal h3 { font-family: var(--rz-font); color: var(--rz-text); letter-spacing: -.01em; }

/* ---- כותרת עליונה: כחול עמוק אחיד במקום מעבר צבעים ---- */
.rozin-portal .rozin-portal-header {
    background: var(--rz-primary);
    border-radius: 0 0 var(--rz-radius-md) var(--rz-radius-md);
    margin: 0 -12px 20px;
    padding: 20px 20px 18px;
    box-shadow: var(--rz-shadow-md);
    gap: 12px;
}
.rozin-portal .rozin-portal-header h2 { font-size: 20px; font-weight: 700; color: #fff; }
.rozin-portal .rozin-portal-header, .rozin-portal .rozin-portal-header * { color: #fff; }
.rozin-portal .rozin-portal-logout {
    color: #fff !important; border: 1px solid rgba(255, 255, 255, .45); background: rgba(255, 255, 255, .08);
    border-radius: var(--rz-radius-sm); min-height: 44px; display: inline-flex; align-items: center; padding: 0 14px; font-weight: 600;
}
.rozin-portal .rozin-portal-logout:hover { background: rgba(255, 255, 255, .18); }

/* ---- לשוניות: פס גלילה של "גלולות", כל אחת בגובה מגע ---- */
.rozin-portal .rozin-portal-tabs {
    display: flex; gap: 6px; overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none;
    padding: 4px; margin-bottom: 18px; background: var(--rz-head-bg); border-radius: var(--rz-radius-md);
}
.rozin-portal .rozin-portal-tabs::-webkit-scrollbar { display: none; }
.rozin-portal .rozin-portal-tab-btn {
    flex: 0 0 auto; min-height: 44px; padding: 0 16px; border: 0; border-radius: var(--rz-radius-sm);
    background: transparent; color: var(--rz-muted); font: 600 15px/1 var(--rz-font); white-space: nowrap; cursor: pointer;
}
.rozin-portal .rozin-portal-tab-btn.active, .rozin-portal .rozin-portal-tab-btn[aria-selected="true"] {
    background: #fff; color: var(--rz-primary); box-shadow: var(--rz-shadow-sm);
}
.rozin-portal .rozin-tab-badge { background: var(--rz-danger); color: #fff; border-radius: 9px; font-size: 12px; padding: 0 6px; margin-inline-start: 4px; }

/* ---- כרטיסי תוכן ---- */
.rozin-portal .rozin-portal-section {
    background: var(--rz-card); border: 1px solid var(--rz-border); border-radius: var(--rz-radius-md);
    box-shadow: var(--rz-shadow-sm); padding: 18px; margin-bottom: 18px;
}
.rozin-portal .rozin-portal-section h3 {
    font-size: 17px; font-weight: 700; color: var(--rz-text);
    margin: 0 0 14px; padding-bottom: 10px; border-bottom: 1px solid var(--rz-border);
}
.rozin-portal .rozin-portal-cards { gap: 10px; }
.rozin-portal .rozin-portal-card {
    flex: 1; background: var(--rz-card); border: 1px solid var(--rz-border); border-radius: var(--rz-radius-md);
    box-shadow: var(--rz-shadow-sm); padding: 14px 12px; text-align: center;
}
.rozin-portal .rozin-portal-card .num { font-family: var(--rz-font); font-size: 24px; font-weight: 700; color: var(--rz-text); font-variant-numeric: tabular-nums; }
.rozin-portal .rozin-portal-card .label { font-size: 13px; color: var(--rz-muted); font-weight: 600; }

/* ---- טבלאות: מרווחות, כותרת שקטה ---- */
.rozin-portal .rozin-portal-table { font-size: 14.5px; border: 1px solid var(--rz-border); border-radius: var(--rz-radius-sm); border-collapse: separate; border-spacing: 0; overflow: hidden; }
.rozin-portal .rozin-portal-table th { background: var(--rz-head-bg); color: var(--rz-muted); font-size: 13px; font-weight: 700; padding: 11px 12px; border-bottom: 1px solid var(--rz-border); }
.rozin-portal .rozin-portal-table td { padding: 13px 12px; border-bottom: 1px solid var(--rz-border); vertical-align: middle; }
.rozin-portal .rozin-portal-table tr:last-child td { border-bottom: 0; }
.rozin-portal .rozin-portal-table a { color: var(--rz-primary-2); font-weight: 600; }

/* ---- תגיות סטטוס: רקע בהיר + טקסט בצבע (קריא יותר מטקסט לבן על צבע מלא) ---- */
.rozin-portal .rozin-status { padding: 4px 10px; border-radius: 9999px; font-size: 12.5px; font-weight: 700; line-height: 1.3; }
.rozin-portal .rozin-status-new          { background: var(--rz-head-bg);   color: var(--rz-muted); }
.rozin-portal .rozin-status-in_progress  { background: var(--rz-primary-bg); color: var(--rz-primary); }
.rozin-portal .rozin-status-waiting_part { background: var(--rz-warning-bg); color: var(--rz-warning); }
.rozin-portal .rozin-status-tech_on_way  { background: #f5f3ff;             color: #6d28d9; }
.rozin-portal .rozin-status-completed    { background: var(--rz-success-bg); color: var(--rz-success); }

/* ---- כפתורים: לפחות 48px גובה (מגע) ---- */
.rozin-portal .rozin-btn-primary, .rozin-portal .rozin-btn-secondary, .rozin-portal .rozin-portal-reschedule-btn {
    min-height: 48px; padding: 0 20px; border-radius: var(--rz-radius-sm);
    font: 700 16px/1 var(--rz-font); display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    cursor: pointer; transition: background-color .15s ease, box-shadow .15s ease;
}
.rozin-portal .rozin-btn-primary { background: var(--rz-primary); color: #fff; border: 0; box-shadow: var(--rz-shadow-sm); }
.rozin-portal .rozin-btn-primary:hover { background: var(--rz-primary-2); }
.rozin-portal .rozin-btn-secondary, .rozin-portal .rozin-portal-reschedule-btn { background: #fff; color: var(--rz-text); border: 1px solid var(--rz-border-strong); }
.rozin-portal .rozin-btn-secondary:hover, .rozin-portal .rozin-portal-reschedule-btn:hover { background: var(--rz-head-bg); }
.rozin-portal .rozin-btn-primary:focus-visible, .rozin-portal .rozin-btn-secondary:focus-visible, .rozin-portal button:focus-visible { outline: none; box-shadow: var(--rz-focus); }

/* ---- שדות ---- */
.rozin-portal input[type="text"], .rozin-portal input[type="email"], .rozin-portal input[type="tel"],
.rozin-portal input[type="number"], .rozin-portal input[type="date"], .rozin-portal input[type="datetime-local"],
.rozin-portal input[type="password"], .rozin-portal select, .rozin-portal textarea {
    width: 100%; min-height: 48px; font: 16px/1.4 var(--rz-font); color: var(--rz-text);
    border: 1px solid var(--rz-border-strong); border-radius: var(--rz-radius-sm); background: #fff; padding: 10px 14px;
}
.rozin-portal textarea { min-height: 96px; }
.rozin-portal input:focus, .rozin-portal select:focus, .rozin-portal textarea:focus { border-color: var(--rz-primary-light); box-shadow: var(--rz-focus); outline: none; }
.rozin-portal label { font-weight: 600; font-size: 14.5px; color: var(--rz-text); }

/* ---- אייקונים ועיגולי נתונים ---- */
.rozin-portal .rozin-icon-circle .circle { border-color: var(--rz-border-strong); }
.rozin-portal .rozin-icon-circle.filled .circle { background: var(--rz-primary); border-color: var(--rz-primary); }
.rozin-portal .rozin-stat-ring .ring { border-color: var(--rz-primary-light); color: var(--rz-primary); }

/* ---- באנר "הטכנאי בדרך" ---- */
.rozin-portal .rozin-tech-on-way-banner { border-radius: var(--rz-radius-md); box-shadow: var(--rz-shadow-sm); }

@media (prefers-reduced-motion: reduce) { .rozin-portal * { transition: none !important; } }
