/* ===================================================================
   Kallimachos Author Portal — Frontend (RTL / عربي)
   هوية كنوز المعرفة للنشر والتوزيع — الجزائر / بيروت
   تصميم موحّد لبوابة المؤلفين وصفحة الدخول
   ------------------------------------------------------------------
   اللون الأساسي: عنابي الكنوز #2A2563
   اللون المساعد: ذهبي أكاديمي      #b89443
   الالخط:          Amiri (يُحمَّل من Google Fonts)
   =================================================================== */

:root {
    /* ---- لوحة ألوان الكنوز ---- */
    --kal-green-900: #4b0f17;
    --kal-primary:   #2A2563;   /* العنابي الأساسي لهوية الكنوز */
    --kal-green-700: #18153F;
    --kal-green-600: #a42638;
    --kal-green-050: #fbf4ef;   /* خلفية خضراء فاتحة جداً */

    --kal-gold:      #b89443;   /* الذهبي الأكاديمي */
    --kal-gold-700:  #8f6b2f;
    --kal-gold-050:  #fbf4ef;   /* كريمي */
    --kal-sand:      #e8dfca;   /* حدود رملية */

    --kal-success:   #2A2563;
    --kal-warning:   #b45309;
    --kal-danger:    #b91c1c;
    --kal-info:      #a42638;

    --kal-ink:       #15241d;   /* لون النص الأساسي */
    --kal-muted:     #6b7a73;
    --kal-border:    #e6e3da;
    --kal-bg:        #f6f8f6;
    --kal-white:     #ffffff;

    --kal-radius:    16px;
    --kal-radius-sm: 11px;
    --kal-shadow:    0 14px 40px rgba(15, 61, 46, .08);
    --kal-shadow-sm: 0 4px 16px rgba(15, 61, 46, .06);

    --kal-font: 'Amiri', 'Segoe UI', 'Tahoma', 'Noto Naskh Arabic', system-ui, sans-serif;
}

/* ===================================================================
   الحاوية الرئيسية للبوابة
   =================================================================== */
.kal-portal {
    font-family: var(--kal-font);
    font-size: 15.5px;
    line-height: 1.75;
    color: var(--kal-ink);
    direction: rtl;
    max-width: 100%;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

/* ---- رأس المؤلف ---- */
.kal-portal-header {
    position: relative;
    display: flex;
    align-items: center;
    gap: 18px;
    background:
        radial-gradient(1200px 200px at 100% -40%, rgba(201,162,75,.22), transparent 60%),
        linear-gradient(135deg, var(--kal-primary) 0%, var(--kal-green-700) 100%);
    color: var(--kal-white);
    padding: 26px 28px;
    border-radius: var(--kal-radius) var(--kal-radius) 0 0;
    margin-bottom: 0;
    flex-direction: row-reverse;
    overflow: hidden;
}
.kal-portal-header::after {
    content: "";
    position: absolute;
    inset-inline: 0;
    bottom: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--kal-gold), transparent);
}

.kal-portal-brandmark {
    width: 40px; height: 40px;
    border-radius: 10px;
    object-fit: contain;
    background: rgba(255,255,255,.12);
    padding: 5px;
    flex-shrink: 0;
}

.kal-portal-avatar {
    width: 56px; height: 56px;
    border-radius: 50%;
    background: var(--kal-gold);
    color: var(--kal-green-900);
    font-size: 23px; font-weight: 800;
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0;
    box-shadow: 0 0 0 4px rgba(201,162,75,.25);
}

.kal-portal-user-info { flex: 1; min-width: 0; }
.kal-author-name {
    margin: 0 0 8px;
    font-size: 20px;
    font-weight: 800;
    letter-spacing: -.01em;
}

/* ---- التبويبات ---- */
.kal-portal-nav {
    display: flex;
    flex-direction: row-reverse;
    background: var(--kal-white);
    border: 1px solid var(--kal-border);
    border-top: none;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
}

.kal-tab-link {
    flex: 1;
    text-align: center;
    padding: 15px 10px;
    font-size: 13.5px;
    font-weight: 700;
    color: var(--kal-muted);
    text-decoration: none !important;
    border-bottom: 3px solid transparent;
    transition: color .18s, border-color .18s, background .18s;
    white-space: nowrap;
    min-width: 86px;
}
.kal-tab-link:hover {
    background: var(--kal-green-050);
    color: var(--kal-primary);
    text-decoration: none !important;
}
.kal-tab-link.kal-tab-active {
    color: var(--kal-primary);
    border-bottom-color: var(--kal-gold);
    background: var(--kal-white);
    text-decoration: none !important;
}

/* ---- المحتوى ---- */
.kal-portal-content {
    background: var(--kal-white);
    border: 1px solid var(--kal-border);
    border-top: none;
    border-radius: 0 0 var(--kal-radius) var(--kal-radius);
    padding: 28px;
    box-shadow: var(--kal-shadow);
}

/* ---- بطاقات المؤشرات KPI ---- */
.kal-kpi-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    margin-bottom: 22px;
}

.kal-kpi-card {
    position: relative;
    background: linear-gradient(180deg, #fff, var(--kal-bg));
    border: 1px solid var(--kal-border);
    border-radius: var(--kal-radius-sm);
    padding: 20px 16px;
    text-align: center;
    overflow: hidden;
    transition: transform .15s ease, box-shadow .15s ease;
}
.kal-kpi-card::before {
    content: "";
    position: absolute;
    top: 0; inset-inline: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--kal-primary), var(--kal-green-600));
}
.kal-kpi-card:hover {
    transform: translateY(-2px);
    box-shadow: var(--kal-shadow-sm);
}
.kal-kpi-card:nth-child(3)::before { background: linear-gradient(90deg, var(--kal-gold), var(--kal-gold-700)); }

.kal-kpi-label { font-size: 11.5px; color: var(--kal-muted); margin-bottom: 8px; font-weight: 600; }
.kal-kpi-value { font-size: 28px; font-weight: 800; color: var(--kal-primary); line-height: 1; font-feature-settings: "tnum"; }
.kal-kpi-sub   { font-size: 11.5px; color: var(--kal-muted); margin-top: 6px; }

/* ---- صندوق معلومات ---- */
.kal-info-box {
    background: var(--kal-green-050);
    border: 1px solid #ead6d2;
    border-inline-start: 4px solid var(--kal-primary);
    border-radius: var(--kal-radius-sm);
    padding: 14px 18px;
    font-size: 13.5px;
    color: var(--kal-green-700);
    margin-top: 18px;
}

/* ---- الجداول ---- */
.kal-table-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    border: 1px solid var(--kal-border);
    border-radius: var(--kal-radius-sm);
}

.kal-portal-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13.5px;
    direction: rtl;
}
.kal-portal-table th {
    background: var(--kal-gold-050);
    padding: 13px 14px;
    text-align: right;
    font-weight: 800;
    color: var(--kal-primary);
    border-bottom: 2px solid var(--kal-sand);
    white-space: nowrap;
}
.kal-portal-table td {
    padding: 12px 14px;
    text-align: right;
    border-bottom: 1px solid var(--kal-border);
    vertical-align: middle;
}
.kal-portal-table tr:last-child td { border-bottom: none; }
.kal-portal-table tbody tr { transition: background .15s; }
.kal-portal-table tr:hover td { background: var(--kal-green-050); }

.kal-portal-table code {
    background: var(--kal-bg);
    padding: 2px 6px;
    border-radius: 5px;
    font-size: 11.5px;
    direction: ltr;
    display: inline-block;
    color: var(--kal-green-700);
}

/* ---- الشارات Badges ---- */
.kal-badge {
    display: inline-block;
    padding: 3px 11px;
    border-radius: 999px;
    font-size: 11.5px;
    font-weight: 700;
    white-space: nowrap;
    line-height: 1.6;
}
.kal-badge-pending  { background: #fef3c7; color: #92400e; }
.kal-badge-approved { background: #f4e6e6; color: #0f5132; }
.kal-badge-paid     { background: #f2dfdf; color: var(--kal-primary); }
.kal-badge-held     { background: #eceae3; color: #44524b; }
.kal-badge-reversed { background: #fee2e2; color: #991b1b; }
.kal-badge-draft    { background: #fef3c7; color: #92400e; }
.kal-badge-sent     { background: #f4e6e6; color: #0f5132; }
.kal-badge-active   { background: #f4e6e6; color: #0f5132; }

/* ---- الأزرار ---- */
.kal-btn-primary {
    display: inline-block;
    padding: 12px 26px;
    background: var(--kal-primary);
    color: var(--kal-white) !important;
    border-radius: var(--kal-radius-sm);
    font-weight: 800;
    text-decoration: none !important;
    margin-top: 14px;
    transition: background .18s, transform .15s, box-shadow .18s;
    border: none;
    cursor: pointer;
    box-shadow: 0 10px 24px rgba(15, 61, 46, .16);
}
.kal-btn-primary:hover {
    background: var(--kal-green-700);
    color: #fff !important;
    transform: translateY(-1px);
}

.kal-btn-sm {
    display: inline-block;
    padding: 6px 13px;
    background: var(--kal-primary);
    color: var(--kal-white) !important;
    border-radius: 8px;
    font-size: 12px;
    font-weight: 700;
    text-decoration: none !important;
    white-space: nowrap;
    transition: background .18s;
}
.kal-btn-sm:hover { background: var(--kal-green-700); }

/* ---- بوابة الدخول / لا ملف ---- */
.kal-portal-gate {
    text-align: center;
    padding: 56px 28px;
    background: var(--kal-white);
    border: 1px solid var(--kal-border);
    border-radius: var(--kal-radius);
    box-shadow: var(--kal-shadow);
}
.kal-gate-logo { width: 64px; height: 64px; object-fit: contain; margin: 0 auto 14px; display: block; }
.kal-gate-icon { font-size: 50px; margin-bottom: 14px; }
.kal-portal-gate h2 { color: var(--kal-primary); font-size: 22px; margin: 0 0 10px; font-weight: 800; }
.kal-portal-gate p  { color: var(--kal-muted); margin: 0 0 16px; }

/* ---- حالات فارغة ---- */
.kal-empty {
    text-align: center;
    padding: 40px;
    color: var(--kal-muted);
    font-size: 13.5px;
    background: var(--kal-bg);
    border-radius: var(--kal-radius-sm);
}
.kal-muted { color: var(--kal-muted); }

/* ---- ترقيم الصفحات ---- */
.kal-pagination {
    display: flex;
    gap: 6px;
    justify-content: center;
    margin-top: 20px;
    flex-wrap: wrap;
}
.kal-page-link {
    padding: 6px 13px;
    border: 1px solid var(--kal-border);
    border-radius: 8px;
    color: var(--kal-primary);
    text-decoration: none;
    font-size: 13px;
    font-weight: 700;
    transition: background .15s, color .15s;
}
.kal-page-link:hover { background: var(--kal-green-050); }
.kal-page-link.kal-page-active {
    background: var(--kal-primary);
    color: var(--kal-white);
    border-color: var(--kal-primary);
}

/* ===================================================================
   تخطيط الصفحة المستقلة + التكامل مع WooCommerce My Account
   =================================================================== */
.woocommerce-account .kal-portal { margin-top: 0; }
.woocommerce-account .woocommerce-MyAccount-content .kal-portal-header {
    border-radius: var(--kal-radius) var(--kal-radius) 0 0;
}

body:not(.woocommerce-account) .kal-portal {
    max-width: 1180px;
    margin: 36px auto;
    padding: 0 18px;
    box-sizing: border-box;
}
body:not(.woocommerce-account) .kal-portal-gate {
    max-width: 820px;
    margin: 44px auto;
}

.kallimachos-portal-menu-item > a { font-weight: 700 !important; }

/* منع ألوان القالب من جعل نصوص البوابة بيضاء */
.kal-portal,
.kal-portal p,
.kal-portal td,
.kal-portal th,
.kal-portal .kal-empty,
.kal-portal .kal-muted { color: var(--kal-ink); }

.kal-portal-table th { color: var(--kal-primary); }

.kal-portal-header,
.kal-portal-header *,
.kal-btn-primary,
.kal-btn-primary * { color: #ffffff !important; }

.kal-author-name { color: #ffffff !important; }

/* ===================================================================
   صفحة دخول المؤلفين — هوية الكنوز
   =================================================================== */
.kal-login-shell,
.kal-login-shell * { box-sizing: border-box; }

.kal-login-shell {
    direction: rtl;
    max-width: 560px;
    margin: 36px auto;
    padding: 0 16px;
    font-family: var(--kal-font);
    color: var(--kal-ink);
}

.kal-login-card {
    background: var(--kal-white);
    border: 1px solid var(--kal-sand);
    border-radius: 22px;
    padding: 38px 38px;
    box-shadow: var(--kal-shadow);
    text-align: right;
    position: relative;
    overflow: hidden;
}
.kal-login-card::before {
    content: "";
    position: absolute;
    top: 0; inset-inline: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--kal-primary), var(--kal-gold));
}

.kal-login-brand {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color: var(--kal-primary);
    background: var(--kal-gold-050);
    border: 1px solid var(--kal-sand);
    padding: 8px 15px;
    border-radius: 999px;
    font-size: 12.5px;
    font-weight: 800;
    margin-bottom: 20px;
}
.kal-login-brand img { width: 20px; height: 20px; object-fit: contain; border-radius: 4px; }

.kal-login-card h2 {
    margin: 0 0 10px;
    color: var(--kal-primary) !important;
    font-size: 32px;
    line-height: 1.3;
    font-weight: 800;
    letter-spacing: -.01em;
}

.kal-login-lead,
.kal-login-card p {
    color: var(--kal-muted) !important;
    margin: 0 0 22px;
    font-size: 15px;
    line-height: 1.9;
}

.kal-login-form label {
    display: block;
    margin: 16px 0 8px;
    color: var(--kal-green-700) !important;
    font-size: 14px;
    font-weight: 800;
}

.kal-login-form input[type="text"],
.kal-login-form input[type="password"] {
    width: 100%;
    height: 52px;
    border: 1px solid var(--kal-sand);
    border-radius: 13px;
    background: #fcfbf7;
    color: var(--kal-ink) !important;
    padding: 0 16px;
    font-size: 15px;
    font-family: var(--kal-font);
    outline: none;
    box-shadow: none;
    transition: border-color .15s, box-shadow .15s, background .15s;
}
.kal-login-form input[type="text"]:focus,
.kal-login-form input[type="password"]:focus {
    border-color: var(--kal-primary);
    background: #fff;
    box-shadow: 0 0 0 4px rgba(15, 61, 46, .10);
}

.kal-login-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin: 18px 0 20px;
    flex-wrap: wrap;
}
.kal-login-row a,
.kal-login-row a:visited {
    color: var(--kal-primary) !important;
    text-decoration: none !important;
    font-weight: 700;
    font-size: 13px;
}
.kal-login-row a:hover { color: var(--kal-gold-700) !important; }

.kal-remember {
    display: inline-flex !important;
    align-items: center;
    gap: 8px;
    margin: 0 !important;
    color: #45564f !important;
    font-weight: 700 !important;
    font-size: 13px;
}
.kal-remember input { accent-color: var(--kal-primary); }

.kal-login-submit {
    width: 100%;
    min-height: 54px;
    border: none;
    border-radius: 14px;
    background: var(--kal-primary);
    color: #ffffff !important;
    font-size: 16px;
    font-weight: 900;
    font-family: var(--kal-font);
    cursor: pointer;
    transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
    box-shadow: 0 14px 28px rgba(15, 61, 46, .20);
}
.kal-login-submit:hover {
    background: var(--kal-green-700);
    transform: translateY(-1px);
}

.kal-login-error {
    background: #fff2f2;
    border: 1px solid #fecaca;
    color: #991b1b !important;
    border-radius: 12px;
    padding: 12px 14px;
    margin: 12px 0 18px;
    font-weight: 700;
    font-size: 14px;
}

.kal-login-card-ready { text-align: center; }

.kal-login-mark {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #f4e6e6;
    color: var(--kal-primary);
    font-size: 28px;
    font-weight: 900;
    margin-bottom: 14px;
}

.kal-login-actions {
    display: flex;
    justify-content: center;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: 18px;
}

.kal-btn-outline {
    display: inline-block;
    padding: 12px 26px;
    color: var(--kal-primary) !important;
    border: 1px solid var(--kal-primary);
    border-radius: var(--kal-radius-sm);
    font-weight: 800;
    text-decoration: none !important;
    background: var(--kal-white);
    transition: background .15s, color .15s;
}
.kal-btn-outline:hover { background: var(--kal-green-050); }

/* ===================================================================
   استجابة الشاشات — تتمدد على أي حجم مهما صغر أو كبر
   =================================================================== */

/* أمان عام: لا تتجاوز الحاوية عرض الشاشة، والنصوص الطويلة تلتفّ */
.kal-portal, .kal-login-shell { width: 100%; box-sizing: border-box; }
.kal-portal * { min-width: 0; }
.kal-author-name,
.kal-portal-table td,
.kal-portal-gate h2,
.kal-portal-gate p { overflow-wrap: anywhere; word-break: break-word; }

/* الأجهزة اللوحية والمتوسطة */
@media (max-width: 860px) {
    .kal-kpi-grid { grid-template-columns: 1fr 1fr; }
    .kal-portal-content { padding: 20px 16px; }
    .kal-portal-header { padding: 20px 18px; }
}

/* الهاتف — التبويبات في صف أفقي واحد قابل للتمرير */
@media (max-width: 600px) {
    body:not(.woocommerce-account) .kal-portal { margin: 18px auto; padding: 0 12px; }

    .kal-portal-header {
        flex-wrap: wrap;
        gap: 12px;
        padding: 18px 15px;
    }
    .kal-portal-avatar { width: 48px; height: 48px; font-size: 20px; }
    .kal-portal-brandmark { width: 34px; height: 34px; }
    .kal-author-name { font-size: 17px; margin-bottom: 6px; }

    .kal-portal-nav {
        flex-wrap: nowrap;
        overflow-x: auto;
        scroll-snap-type: x proximity;
    }
    .kal-tab-link {
        flex: 0 0 auto;
        width: auto;
        min-width: max-content;
        padding: 13px 16px;
        font-size: 13px;
        scroll-snap-align: start;
        border-bottom: 3px solid transparent;
    }
    .kal-tab-link.kal-tab-active { border-bottom-color: var(--kal-gold); }

    .kal-portal-content { padding: 16px 13px; }

    /* ---- الجداول → بطاقات مكدّسة على الهاتف ---- */
    .kal-table-wrap { border: none; overflow: visible; }

    .kal-portal-table,
    .kal-portal-table tbody,
    .kal-portal-table tr,
    .kal-portal-table td { display: block; width: 100%; }

    /* إخفاء صف العناوين بصرياً مع إبقائه للوصول */
    .kal-portal-table thead {
        position: absolute;
        width: 1px; height: 1px;
        margin: -1px; padding: 0;
        overflow: hidden; clip: rect(0 0 0 0);
        white-space: nowrap; border: 0;
    }

    .kal-portal-table tr {
        background: var(--kal-white);
        border: 1px solid var(--kal-border);
        border-radius: var(--kal-radius-sm);
        box-shadow: var(--kal-shadow-sm);
        margin-bottom: 13px;
        padding: 4px 14px;
        overflow: hidden;
    }
    .kal-portal-table tr:hover td { background: transparent; }

    .kal-portal-table td {
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 14px;
        text-align: left;
        padding: 10px 0;
        border-bottom: 1px dashed var(--kal-border);
        white-space: normal;
    }
    .kal-portal-table tr td:last-child { border-bottom: none; }

    .kal-portal-table td::before {
        content: attr(data-label);
        font-weight: 800;
        color: var(--kal-primary);
        flex: 0 0 40%;
        text-align: right;
    }

    /* العمود الرئيسي (عنوان الكتاب/الفترة) كشريط علوي بارز */
    .kal-portal-table td[data-label="العنوان"],
    .kal-portal-table td[data-label="الكتاب"],
    .kal-portal-table td[data-label="الفترة"] {
        display: block;
        text-align: right;
        background: var(--kal-gold-050);
        margin: -4px -14px 6px;
        padding: 12px 14px;
        border-bottom: 2px solid var(--kal-sand);
        font-weight: 800;
        color: var(--kal-primary);
    }
    .kal-portal-table td[data-label="العنوان"]::before,
    .kal-portal-table td[data-label="الكتاب"]::before,
    .kal-portal-table td[data-label="الفترة"]::before { display: none; }

    .kal-portal-table td code { direction: ltr; }

    /* بطاقات المؤشرات وصفحة الدخول */
    .kal-kpi-value { font-size: 24px; }
    .kal-login-card { padding: 26px 20px; border-radius: 18px; }
    .kal-login-card h2 { font-size: 26px; }
    .kal-login-shell { margin: 18px auto; }
}

/* الشاشات الصغيرة جداً */
@media (max-width: 380px) {
    .kal-kpi-grid { grid-template-columns: 1fr; }
    .kal-portal-table td::before { flex-basis: 46%; }
}

/* الشاشات الكبيرة جداً — يملأ المساحة بلا إفراط */
@media (min-width: 1400px) {
    body:not(.woocommerce-account) .kal-portal { max-width: 1320px; }
}
