/* Knaz UI helpers (RTL-first) */
:root{ --knaz-primary:#22366d; --knaz-primary-2:#1b2b55; }

/* Smooth font rendering */
html{ -webkit-text-size-adjust:100%; }
body{ font-family:'Cairo', sans-serif; }

/* Unified page loader */
#pageloader{ transition:opacity .18s ease, visibility .18s ease; }
#pageloader.hidden{ opacity:0; visibility:hidden; pointer-events:none; display:flex !important; }
body.knaz-loading #pageloader{ opacity:1; visibility:visible; pointer-events:auto; display:flex !important; }

/* Navbar */
.knaz-topbar{ position:sticky; top:0; z-index:60; }
.knaz-nav{ background:#fff; border-bottom:1px solid #e5e7eb; }
.knaz-nav-links{ display:flex; flex-wrap:wrap; gap:.5rem; }
.knaz-nav-link{ display:inline-flex; align-items:center; gap:.5rem; padding:.55rem .85rem; border-radius: .85rem; font-weight:800; color:#111827; }
.knaz-nav-link:hover{ background:#f3f4f6; }
.knaz-nav-link.active{ background:rgba(34,54,109,.08); color:var(--knaz-primary); }

/* Mobile: collapsible nav panel */
@media (max-width: 768px){
  .knaz-nav-links{ flex-direction:column; align-items:stretch; }
}

/* Card list used on mobile instead of tables */
.knaz-card{ background:#fff; border:1px solid #eef2f7; border-radius: 1.25rem; box-shadow: 0 8px 30px rgba(17,24,39,.06); }
.knaz-card-header{ padding:1rem 1.1rem; border-bottom:1px solid #f1f5f9; }
.knaz-card-body{ padding:1rem 1.1rem; }
.knaz-badge{ display:inline-flex; align-items:center; gap:.35rem; padding:.25rem .6rem; border-radius:999px; font-weight:800; font-size:.75rem; }

/* Image grid + lightbox */
.knaz-img{ width:100%; height:100%; object-fit:cover; border-radius:1rem; }
.knaz-img-tile{ position:relative; overflow:hidden; border-radius:1rem; border:1px solid #e5e7eb; background:#f8fafc; }
.knaz-img-tile:hover .knaz-img{ transform:scale(1.02); }
.knaz-img{ transition: transform .2s ease; }

.knaz-lightbox{ position:fixed; inset:0; background:rgba(0,0,0,.75); display:none; align-items:center; justify-content:center; padding:1rem; z-index:80; }
.knaz-lightbox.open{ display:flex; }
.knaz-lightbox-inner{ max-width:min(1100px,100%); width:100%; }
.knaz-lightbox-img{ width:100%; max-height:80vh; object-fit:contain; background:#111827; border-radius:1rem; }

/* Multi image preview */
.knaz-preview-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem; }
@media (min-width:640px){ .knaz-preview-grid{ grid-template-columns:repeat(4,minmax(0,1fr)); } }
.knaz-preview-item{ position:relative; border-radius:1rem; overflow:hidden; border:1px solid #e5e7eb; }
.knaz-preview-item img{ width:100%; height:7.5rem; object-fit:cover; display:block; }
.knaz-preview-remove{ position:absolute; top:.35rem; left:.35rem; background:rgba(0,0,0,.65); color:#fff; width:2rem; height:2rem; border-radius:999px; display:flex; align-items:center; justify-content:center; font-weight:900; }

/* Better DataTables on mobile */
.dataTables_wrapper .dataTables_filter input{ border:1px solid #e5e7eb; border-radius:.75rem; padding:.45rem .6rem; }
.dataTables_wrapper .dataTables_length select{ border:1px solid #e5e7eb; border-radius:.75rem; padding:.35rem .6rem; }

/* Reduce emoji look - keep consistent */
.emoji{ font-family: system-ui, 'Apple Color Emoji','Segoe UI Emoji'; }

/* Table -> Cards (opt-in via data-knaz-cardify) */
.knaz-cardlist{ display:none; }
@media (max-width: 768px){
  .knaz-cardlist{ display:block; }
  table.knaz-cardify-ready{ display:none; }
}

/* Better horizontal scroll for tables on mobile */
.knaz-table-wrap{ overflow-x:auto; -webkit-overflow-scrolling:touch; }
.knaz-table-wrap table{ min-width: 760px; }

/* Generic subtle buttons */
.knaz-btn{ display:inline-flex; align-items:center; gap:.5rem; padding:.55rem .9rem; border-radius:1rem; font-weight:800; }
.knaz-btn-primary{ background:var(--knaz-primary); color:#fff; }
.knaz-btn-primary:hover{ opacity:.92; }
.knaz-btn-secondary{ background:#f3f4f6; color:#111827; }
.knaz-btn-secondary:hover{ background:#e5e7eb; }
.knaz-btn-danger{ background:#dc2626; color:#fff; }
.knaz-btn-danger:hover{ opacity:.92; }

/* Auto-hide transition */
[data-knaz-autohide]{ transition: opacity .35s ease; }


/* Hover motion (subtle) */
.knaz-nav-link{ transition: background .15s ease, transform .15s ease, box-shadow .15s ease; }
.knaz-nav-link:hover{ transform: translateY(-1px); box-shadow: 0 10px 24px rgba(17,24,39,.08); }

/* Lift cards and actionable rows */
.knaz-card{ transition: transform .15s ease, box-shadow .15s ease; }
.knaz-card:hover{ transform: translateY(-1px); box-shadow: 0 14px 34px rgba(17,24,39,.10); }

table.dataTable tbody tr{ transition: background .12s ease, transform .12s ease; }
table.dataTable tbody tr:hover{ background: #f9fafb; transform: translateY(-1px); }

/* Respect reduced-motion */
@media (prefers-reduced-motion: reduce){
  .knaz-nav-link, .knaz-card, table.dataTable tbody tr{ transition: none !important; }
  .knaz-nav-link:hover, .knaz-card:hover, table.dataTable tbody tr:hover{ transform: none !important; }
}

/* Unified status modal */
.knaz-status-modal,
.knaz-incident-modal{position:fixed;inset:0;background:rgba(15,23,42,.50);backdrop-filter:blur(4px);z-index:99999;display:flex;align-items:center;justify-content:center;padding:18px;animation:knazStatusFade .22s ease}
.knaz-status-modal__box,
.knaz-incident-modal__box{width:min(484px,100%);background:#fff;border-radius:18px;box-shadow:0 24px 80px rgba(15,23,42,.26);padding:39px 28px 30px;text-align:center;position:relative;overflow:hidden;animation:knazStatusPop .24s ease}
.knaz-status-modal__line,
.knaz-incident-modal__line{position:absolute;top:0;left:50%;transform:translateX(-50%);height:5px;width:90px;background:var(--knaz-modal-line,#10b981);border-radius:0 0 8px 8px}
.knaz-status-modal__icon,
.knaz-incident-modal__icon{width:84px;height:84px;border-radius:50%;background:var(--knaz-modal-bg,#ecfdf5);color:var(--knaz-modal-fg,#059669);display:flex;align-items:center;justify-content:center;margin:0 auto 18px}
.knaz-status-modal__icon svg,
.knaz-incident-modal__icon svg{width:46px;height:46px}
.knaz-status-modal h3,
.knaz-incident-modal h3{font-size:24px;font-weight:900;color:#142d4c;margin:0 0 8px;letter-spacing:0}
.knaz-status-modal p,
.knaz-incident-modal p{font-size:14px;color:#7b8799;line-height:1.8;margin:0 0 26px;font-weight:600}
.knaz-status-modal__actions,
.knaz-incident-modal__actions{display:flex;gap:11px;justify-content:center;align-items:center;flex-wrap:wrap}
.knaz-status-modal__primary,.knaz-status-modal__ghost,
.knaz-incident-modal__primary,.knaz-incident-modal__ghost{border:0;border-radius:10px;padding:13px 26px;min-width:84px;font-weight:900;font-family:inherit;text-decoration:none;cursor:pointer;font-size:15px;line-height:1.35}
.knaz-status-modal__primary,
.knaz-incident-modal__primary{background:#22366d;color:#fff;box-shadow:0 10px 24px rgba(34,54,109,.22)}
.knaz-status-modal__ghost,
.knaz-incident-modal__ghost{background:#f1f5f9;color:#334155}
.knaz-status-modal--success{--knaz-modal-bg:#ecfdf5;--knaz-modal-fg:#059669;--knaz-modal-line:#10b981}
.knaz-status-modal--error{--knaz-modal-bg:#fef2f2;--knaz-modal-fg:#dc2626;--knaz-modal-line:#ef4444}
.knaz-status-modal--warning{--knaz-modal-bg:#fffbeb;--knaz-modal-fg:#d97706;--knaz-modal-line:#f59e0b}
.knaz-status-modal--info{--knaz-modal-bg:#eff6ff;--knaz-modal-fg:#2563eb;--knaz-modal-line:#3b82f6}
@keyframes knazStatusFade{from{opacity:0}to{opacity:1}}
@keyframes knazStatusPop{from{opacity:0;transform:scale(.94) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}
/* ==========================
   Incident Estimation Modal
========================== */

.inc-modal-overlay{
    position:fixed;
    inset:0;
    display:none;
    align-items:center;
    justify-content:center;
    z-index:99999;
}

.inc-modal-bg{
    position:absolute;
    inset:0;
    background:rgba(15,23,42,.55);
    backdrop-filter:blur(3px);
}

.inc-modal{
    position:relative;
    width:min(680px,95%);
    max-height:90vh;
    overflow-y:auto;
    background:#fff;
    border-radius:18px;
    box-shadow:0 30px 80px rgba(0,0,0,.25);
    animation:modalPop .22s ease;
}

@keyframes modalPop{
    from{
        opacity:0;
        transform:translateY(15px) scale(.97);
    }
    to{
        opacity:1;
        transform:translateY(0) scale(1);
    }
}

.inc-modal__head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:18px 22px;
    border-bottom:1px solid #e5e7eb;
    background:#22366d;
    color:#fff;
}

.inc-modal__head h3{
    margin:0;
    font-size:18px;
    font-weight:800;
}

.inc-modal__close{
    border:none;
    background:none;
    color:#fff;
    font-size:28px;
    cursor:pointer;
}

.inc-modal__body{
    padding:22px;
}

.inc-modal__foot{
    display:flex;
    justify-content:flex-end;
    gap:10px;
    padding:18px 22px;
    border-top:1px solid #e5e7eb;
    background:#fafafa;
}

.inc-mfg{
    margin-bottom:16px;
}

.inc-mfl{
    display:block;
    margin-bottom:6px;
    font-weight:700;
    color:#374151;
}

.inc-req{
    color:#dc2626;
}

.inc-fi{
    width:100%;
    padding:11px 14px;
    border:1px solid #d1d5db;
    border-radius:10px;
    outline:none;
    transition:.2s;
    font-family:inherit;
}

.inc-fi:focus{
    border-color:#22366d;
    box-shadow:0 0 0 3px rgba(34,54,109,.15);
}

.inc-fi--ro{
    background:#f3f4f6;
}

.inc-btn{
    padding:11px 22px;
    border:none;
    border-radius:10px;
    font-weight:800;
    cursor:pointer;
    transition:.2s;
}

.inc-btn--ghost{
    background:#f3f4f6;
    color:#374151;
}

.inc-btn--ghost:hover{
    background:#e5e7eb;
}

.inc-btn--pr{
    background:#22366d;
    color:#fff;
}

.inc-btn--pr:hover{
    background:#1b2b55;
}