/* Legal Cases Manager - Public (RTL) — v2.1 full shortcode */

/* ===== Google Font ===== */
@import url('https://fonts.googleapis.com/css2?family=Tajawal:wght@400;500;700&display=swap');

/* ===== Global Portal ===== */
.lcm-portal { font-family: 'Tajawal', Tahoma, Arial, sans-serif; direction:rtl; max-width:960px; margin:30px auto; padding:0 16px; color:#1d2327; }
.lcm-portal h2 { margin-top:0; }
.lcm-portal-card { background:#fff; border:1px solid #e2e4e7; border-radius:12px; padding:22px 26px; margin-bottom:16px; box-shadow:0 1px 3px rgba(0,0,0,0.04); }
.lcm-portal-header { display:flex; justify-content:space-between; align-items:center; gap:20px; flex-wrap:wrap; background:#1d2327; color:#fbbf24; padding:18px 22px; border-radius:12px; margin-bottom:18px; }
.lcm-portal-header h2 { color:#fbbf24; margin:0; }
.lcm-portal-header p { color:#ddd; margin:5px 0 0; font-size:13px; }
.lcm-btn { background:#1d2327; color:#fbbf24; border:0; padding:11px 22px; border-radius:50px; font-size:14px; font-weight:bold; cursor:pointer; text-decoration:none; display:inline-block; transition:all .2s; }
.lcm-btn:hover { background:#2c3338; }
.lcm-btn.primary { background:#2271b1; color:#fff; }
.lcm-btn.primary:hover { background:#135e96; }
.lcm-btn.ghost { background:transparent; color:#2271b1; border:1px solid #2271b1; }
.lcm-btn.ghost:hover { background:#2271b1; color:#fff; }
.lcm-btn.danger { background:#d63638; color:#fff; }
.lcm-btn.danger:hover { background:#b32d2e; }
.lcm-btn.sm { padding:5px 14px; font-size:12px; border-radius:6px; }
.lcm-alert { padding:12px 16px; border-radius:8px; margin:14px 0; }
.lcm-alert.error { background:#fef2f2; color:#b91c1c; border:1px solid #fecaca; }
.lcm-alert.success { background:#f0fdf4; color:#15803d; border:1px solid #bbf7d0; }
.lcm-otp-input { width:100%; max-width:240px; padding:12px; font-size:22px; letter-spacing:8px; text-align:center; border:2px solid #ddd; border-radius:8px; }
.lcm-kv { display:grid; grid-template-columns:repeat(auto-fit, minmax(220px, 1fr)); gap:10px 16px; margin:14px 0; }
.lcm-actions-list { display:flex; flex-direction:column; gap:10px; margin-top:10px; }
.lcm-action-item { background:#f9fafb; border-right:4px solid #2271b1; padding:12px 16px; border-radius:6px; }
.lcm-action-date { background:#1d2327; color:#fbbf24; display:inline-block; padding:3px 10px; border-radius:12px; font-size:11px; margin-bottom:6px; }
.lcm-action-text { color:#222; font-size:14px; line-height:1.7; }
.lcm-next { color:#2271b1; font-weight:700; font-size:13px; margin-top:6px; }
.lcm-portal input[type="text"], .lcm-portal input[type="email"], .lcm-portal input[type="password"], .lcm-portal input[type="url"], .lcm-portal input[type="color"], .lcm-portal input[type="number"] {
    width:100%; padding:10px; border:1px solid #ddd; border-radius:6px; font-size:14px;
}
.lcm-portal label { display:block; font-weight:600; margin:8px 0 4px; }
@media (max-width:640px) { .lcm-portal-header { flex-direction:column; align-items:flex-start; } }

/* ===== Full Manager Layout ===== */
.lcm-cm-wrap { max-width:1280px; margin:0 auto; display:flex; gap:0; min-height:80vh; background:#f0f2f5; border-radius:14px; overflow:hidden; border:1px solid #dfe3e8; }

/* ===== Sidebar ===== */
.lcm-sidebar { width:240px; min-width:240px; background:#1d2327; color:#ccc; overflow-y:auto; flex-shrink:0; }
.lcm-sidebar-header { padding:18px 16px; border-bottom:1px solid rgba(255,255,255,.08); text-align:center; }
.lcm-sidebar-header h3 { color:#fbbf24; margin:0; font-size:15px; }
.lcm-sidebar-nav { padding:8px 0; }
.lcm-nav-group { margin-bottom:2px; }
.lcm-nav-group-title { display:flex; align-items:center; gap:8px; padding:10px 16px; font-size:13px; font-weight:700; color:#8c8f94; cursor:pointer; user-select:none; transition:background .2s; text-transform:none; letter-spacing:0; }
.lcm-nav-group-title:hover { background:rgba(255,255,255,.04); }
.lcm-nav-group-title .lcm-nav-icon { font-size:16px; width:22px; text-align:center; }
.lcm-nav-group-title .lcm-nav-arrow { margin-right:auto; margin-left:0; font-size:10px; transition:transform .2s; }
.lcm-nav-group.open .lcm-nav-arrow { transform:rotate(90deg); }
.lcm-nav-items { display:none; padding:0; }
.lcm-nav-group.open .lcm-nav-items { display:block; }
.lcm-nav-link { display:block; padding:8px 16px 8px 36px; color:#bbb; font-size:13px; text-decoration:none; transition:all .15s; border-right:3px solid transparent; }
.lcm-nav-link:hover { background:rgba(255,255,255,.06); color:#fff; }
.lcm-nav-link.active { background:rgba(34,113,177,.25); color:#72aee6; border-right-color:#72aee6; font-weight:600; }
.lcm-nav-single { display:flex; align-items:center; gap:8px; padding:10px 16px; color:#bbb; font-size:13px; text-decoration:none; transition:all .15s; border-right:3px solid transparent; }
.lcm-nav-single:hover { background:rgba(255,255,255,.06); color:#fff; }
.lcm-nav-single.active { background:rgba(34,113,177,.25); color:#72aee6; border-right-color:#72aee6; font-weight:600; }
.lcm-nav-single .lcm-nav-icon { font-size:16px; width:22px; text-align:center; }

/* ===== Content ===== */
.lcm-content { flex:1; padding:24px; overflow-x:auto; background:#f0f2f5; min-width:0; }
.lcm-content h2 { margin:0 0 16px; font-size:20px; color:#1d2327; }
.lcm-content h3 { margin:16px 0 10px; font-size:16px; color:#1d2327; }

/* ===== Cards inside content ===== */
.lcm-card { background:#fff; border:1px solid #e2e4e7; border-radius:10px; padding:20px; margin-bottom:16px; box-shadow:0 1px 2px rgba(0,0,0,.03); }
.lcm-card h2, .lcm-card h3 { margin-top:0; }

/* ===== Tables ===== */
.lcm-table { width:100%; border-collapse:collapse; font-size:13px; }
.lcm-table th, .lcm-table td { padding:10px 12px; border-bottom:1px solid #eee; text-align:right; }
.lcm-table thead th { background:#f5f7f8; font-weight:700; color:#1d2327; position:sticky; top:0; }
.lcm-table tbody tr:hover { background:#fafbfc; }
.lcm-table-scroll { overflow-x:auto; margin:0 -4px; padding:0 4px; }

/* ===== Status badges ===== */
.lcm-status-open { color:#00a32a; font-weight:600; }
.lcm-status-closed { color:#757575; font-weight:600; }
.lcm-status-pending { color:#d63638; font-weight:600; }
.lcm-status-in_progress { color:#2271b1; font-weight:600; }
.lcm-status-done { color:#00a32a; font-weight:600; }

/* ===== Forms ===== */
.lcm-input { border:1px solid #ddd; border-radius:6px; padding:8px 10px; width:100%; box-sizing:border-box; font-size:14px; font-family:inherit; }
.lcm-input:focus { outline:none; border-color:#2271b1; box-shadow:0 0 0 2px rgba(34,113,177,.15); }
select.lcm-input { appearance:auto; }
textarea.lcm-input { resize:vertical; min-height:60px; }
.lcm-grid-2 { display:grid; grid-template-columns:repeat(auto-fit, minmax(220px, 1fr)); gap:10px 16px; }
.lcm-grid-2 p { margin:0 0 6px; }
.lcm-grid-2 label { display:block; font-size:13px; font-weight:600; margin-bottom:4px; color:#1d2327; }
.lcm-col-2 { grid-column:1 / -1; }
.lcm-req { color:#d63638; }

/* ===== Filters bar ===== */
.lcm-filters { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:16px; align-items:center; }
.lcm-filters input, .lcm-filters select { flex:1; min-width:140px; max-width:240px; }
.lcm-filters .lcm-btn { flex-shrink:0; }

/* ===== Pagination ===== */
.lcm-pagination { display:flex; gap:4px; flex-wrap:wrap; margin-top:14px; }
.lcm-pagination .lcm-btn { padding:5px 12px; font-size:12px; border-radius:6px; }

/* ===== Stats grid (reports) ===== */
.lcm-stats { display:grid; grid-template-columns:repeat(auto-fit, minmax(140px, 1fr)); gap:12px; margin-bottom:20px; }
.lcm-stat { background:#fff; border:1px solid #e2e4e7; border-radius:10px; padding:16px; text-align:center; }
.lcm-stat-num { font-size:28px; font-weight:700; color:#2271b1; }
.lcm-stat-lbl { font-size:12px; color:#666; margin-top:4px; }

/* ===== Tabs (settings) ===== */
.lcm-tabs { display:flex; gap:0; border-bottom:2px solid #e2e4e7; margin-bottom:16px; flex-wrap:wrap; }
.lcm-tab { padding:10px 18px; font-size:13px; font-weight:600; color:#666; text-decoration:none; border-bottom:2px solid transparent; margin-bottom:-2px; transition:all .15s; }
.lcm-tab:hover { color:#2271b1; }
.lcm-tab.active { color:#2271b1; border-bottom-color:#2271b1; }

/* ===== Action bar ===== */
.lcm-action-bar { display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-bottom:16px; }
.lcm-action-bar h2 { margin:0; flex:1; }

/* ===== Mobile toggle ===== */
.lcm-mobile-toggle { display:none; background:#1d2327; color:#fbbf24; border:none; padding:10px 16px; font-size:18px; cursor:pointer; width:100%; text-align:right; border-radius:14px 14px 0 0; }

/* ===== Checkbox grid (roles) ===== */
.lcm-caps-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(240px, 1fr)); gap:8px; }
.lcm-cap-item { background:#f6f7f7; padding:8px 12px; border-radius:6px; border:1px solid #ddd; font-size:13px; display:flex; align-items:center; gap:6px; }
.lcm-cap-item input { margin:0; }
.lcm-cap-item small { color:#666; }

/* ===== Inline form actions ===== */
.lcm-inline-form { display:inline; }
.lcm-inline-form button { background:none; border:none; color:#2271b1; font-size:12px; padding:3px 8px; cursor:pointer; border:1px solid #2271b1; border-radius:6px; font-family:inherit; }
.lcm-inline-form button:hover { background:#2271b1; color:#fff; }
.lcm-inline-form button.danger { color:#d63638; border-color:#d63638; }
.lcm-inline-form button.danger:hover { background:#d63638; color:#fff; }

/* ===== Quick action search ===== */
.lcm-quick-search { position:relative; }
.lcm-quick-search input { width:100%; padding:12px; font-size:16px; }
.lcm-autocomplete { position:absolute; top:100%; right:0; left:0; background:#fff; border:1px solid #ddd; border-top:0; border-radius:0 0 8px 8px; max-height:220px; overflow-y:auto; list-style:none; margin:0; padding:0; display:none; z-index:99; box-shadow:0 4px 12px rgba(0,0,0,.1); }
.lcm-autocomplete li { padding:10px 14px; cursor:pointer; border-bottom:1px solid #f0f0f0; font-size:14px; }
.lcm-autocomplete li:hover { background:#f0f6fc; }

/* ===== Two column layout inside content ===== */
.lcm-split { display:grid; grid-template-columns:1fr 1fr; gap:16px; }

/* ===== Timeline actions ===== */
.lcm-timeline { display:flex; flex-direction:column; gap:10px; margin-top:10px; }
.lcm-timeline-item { border-right:3px solid #2271b1; padding:10px 14px; background:#f9fafb; border-radius:6px; }

/* ===== Responsive ===== */
@media (max-width:900px) {
    .lcm-cm-wrap { flex-direction:column; }
    .lcm-sidebar { width:100%; min-width:100%; max-height:none; }
    .lcm-sidebar.collapsed .lcm-sidebar-nav { display:none; }
    .lcm-mobile-toggle { display:block; }
    .lcm-split { grid-template-columns:1fr; }
    .lcm-content { padding:16px; }
}
@media (max-width:600px) {
    .lcm-grid-2 { grid-template-columns:1fr; }
    .lcm-filters { flex-direction:column; }
    .lcm-filters input, .lcm-filters select { max-width:100%; }
    .lcm-stats { grid-template-columns:repeat(2, 1fr); }
}
