/* مکتبچی — Persian RTL admin UI */
.mkc-app { direction: rtl; text-align: right; font-family: 'Vazirmatn FD', Vazirmatn, Tahoma, 'Iran Sans', sans-serif; color:#1f2937; line-height:1.7; --mkc-primary:#0d6efd; --mkc-accent:#16a34a; --mkc-bg:#f6f8fb; --mkc-card:#fff; --mkc-border:#e5e7eb; --mkc-muted:#6b7280; --mkc-danger:#dc2626; --mkc-warning:#d97706; }
.mkc-app *, .mkc-app *::before, .mkc-app *::after { box-sizing: border-box; }
.mkc-app a { color: var(--mkc-primary); text-decoration:none; }
.mkc-app a:hover { text-decoration: underline; }

/* Login / auth cards */
.mkc-auth { min-height: 60vh; display:flex; align-items:center; justify-content:center; background:var(--mkc-bg); padding:24px; border-radius:16px; }
.mkc-auth-card { width:100%; max-width: 420px; background:var(--mkc-card); border:1px solid var(--mkc-border); border-radius:16px; padding:32px; box-shadow: 0 8px 30px rgba(15,23,42,.06); }
.mkc-auth-card .mkc-brand { text-align:center; margin-bottom: 20px; }
.mkc-auth-card .mkc-brand img { max-width: 80px; max-height: 80px; }
.mkc-auth-card h2 { margin: 10px 0 6px; font-size: 20px; }
.mkc-auth-card .mkc-sub { color: var(--mkc-muted); font-size: 13px; margin-bottom: 20px; text-align:center; }
.mkc-form-row { margin-bottom:14px; }
.mkc-form-row label { display:block; font-size:13px; margin-bottom:6px; color:#374151; }
.mkc-form-row input, .mkc-form-row select, .mkc-form-row textarea {
    width:100%; padding:10px 12px; border:1px solid var(--mkc-border); border-radius:10px; background:#fff; font-family:inherit; font-size:14px;
}
.mkc-form-row input:focus, .mkc-form-row select:focus, .mkc-form-row textarea:focus { outline:none; border-color: var(--mkc-primary); box-shadow: 0 0 0 3px rgba(13,110,253,.15); }
.mkc-btn { display:inline-flex; align-items:center; justify-content:center; gap:6px; padding: 10px 16px; border-radius: 10px; background: var(--mkc-primary); color:#fff; border:0; font-family:inherit; font-size:14px; cursor:pointer; font-weight:500; }
.mkc-btn:hover { filter: brightness(.95); }
.mkc-btn.mkc-btn-block { width:100%; }
.mkc-btn.mkc-btn-outline { background:#fff; color: var(--mkc-primary); border:1px solid var(--mkc-primary); }
.mkc-btn.mkc-btn-danger { background: var(--mkc-danger); }
.mkc-btn.mkc-btn-muted { background:#e5e7eb; color:#111827; }
.mkc-btn.mkc-btn-sm { padding: 6px 10px; font-size:12px; }
.mkc-btn.mkc-btn-accent { background: var(--mkc-accent); }

.mkc-notice { padding:12px 14px; border-radius:10px; margin-bottom:16px; font-size:14px; }
.mkc-notice.error   { background:#fee2e2; color:#991b1b; }
.mkc-notice.success { background:#dcfce7; color:#166534; }
.mkc-notice.info    { background:#dbeafe; color:#1e3a8a; }

/* Shell */
.mkc-shell { display: grid; grid-template-columns: 260px 1fr; gap: 20px; background: var(--mkc-bg); border-radius:16px; overflow:hidden; min-height:600px; }
.mkc-sidebar { background:#0f172a; color:#e5e7eb; padding: 20px 0; }
.mkc-sidebar .mkc-brand { padding: 0 20px 16px; border-bottom:1px solid #1f2937; margin-bottom: 12px; display:flex; align-items:center; gap:10px;}
.mkc-sidebar .mkc-brand img { width:36px; height:36px; border-radius:8px; background:#fff; padding:4px; }
.mkc-sidebar .mkc-brand h3 { margin:0; font-size:16px; color:#fff; }
.mkc-sidebar .mkc-brand small { color:#94a3b8; font-size:11px; }
.mkc-nav a { display:flex; align-items:center; gap:10px; padding:10px 20px; color:#cbd5e1; font-size:14px; }
.mkc-nav a:hover, .mkc-nav a.active { background: rgba(255,255,255,.06); color:#fff; text-decoration:none; border-right: 3px solid var(--mkc-primary); }
.mkc-nav .mkc-nav-section { padding: 12px 20px 4px; color:#64748b; font-size:11px; text-transform:uppercase; letter-spacing:.05em; }
.mkc-main { padding: 20px 24px; background:#fff; min-height:600px; }
.mkc-topbar { display:flex; justify-content:space-between; align-items:center; padding:6px 0 18px; margin-bottom:18px; border-bottom:1px solid var(--mkc-border); }
.mkc-topbar h1 { margin:0; font-size: 20px; }
.mkc-topbar .mkc-user { display:flex; align-items:center; gap:12px; font-size:13px; color:#374151; }

/* Cards / grid */
.mkc-grid { display:grid; gap:16px; }
.mkc-grid.cols-4 { grid-template-columns: repeat(4, 1fr); }
.mkc-grid.cols-3 { grid-template-columns: repeat(3, 1fr); }
.mkc-grid.cols-2 { grid-template-columns: repeat(2, 1fr); }
.mkc-card { background:#fff; border:1px solid var(--mkc-border); border-radius:14px; padding:18px; }
.mkc-card h3 { margin: 0 0 10px; font-size: 14px; color:#374151; }
.mkc-stat { display:flex; align-items:center; justify-content:space-between; }
.mkc-stat .mkc-num { font-size: 28px; font-weight: 700; color: var(--mkc-primary); }
.mkc-stat .mkc-ico { width:44px; height:44px; border-radius:12px; background:#eff6ff; color:var(--mkc-primary); display:flex; align-items:center; justify-content:center; font-size:22px; }
.mkc-stat.accent .mkc-num { color: var(--mkc-accent); }
.mkc-stat.accent .mkc-ico { background:#dcfce7; color: var(--mkc-accent); }

/* Section */
.mkc-section { background:#fff; border:1px solid var(--mkc-border); border-radius:14px; padding:20px; margin-bottom:16px; }
.mkc-section-header { display:flex; justify-content:space-between; align-items:center; margin-bottom: 16px; }
.mkc-section-header h2 { margin:0; font-size:17px; }

/* Table */
.mkc-table { width:100%; border-collapse:collapse; font-size: 13px; }
.mkc-table th, .mkc-table td { padding: 10px 12px; text-align: right; border-bottom: 1px solid var(--mkc-border); }
.mkc-table th { background:#f9fafb; font-weight:600; color:#374151; font-size:12px; }
.mkc-table tbody tr:hover { background: #fafafa; }
.mkc-badge { display:inline-block; padding: 3px 10px; border-radius: 999px; font-size:11px; font-weight:600; }
.mkc-badge.on  { background:#dcfce7; color:#166534; }
.mkc-badge.off { background:#fee2e2; color:#991b1b; }
.mkc-actions { display:flex; gap:6px; }

/* Empty state */
.mkc-empty { text-align:center; padding: 60px 20px; color: var(--mkc-muted); }
.mkc-empty svg { width:80px; height:80px; opacity:.5; margin-bottom: 16px; }
.mkc-empty h3 { color:#111827; font-size:18px; margin-bottom:8px; }

/* Filters */
.mkc-filters { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:16px; align-items:flex-end; }
.mkc-filters .mkc-form-row { margin:0; flex:1; min-width:150px; }

/* Tabs */
.mkc-tabs { display:flex; gap:2px; border-bottom:1px solid var(--mkc-border); margin-bottom: 18px; }
.mkc-tabs a { padding:10px 16px; color:#6b7280; border-bottom: 2px solid transparent; }
.mkc-tabs a.active { color: var(--mkc-primary); border-bottom-color: var(--mkc-primary); font-weight:600; }

/* Announcement / log lists */
.mkc-list { list-style:none; padding:0; margin:0; }
.mkc-list li { padding:12px 0; border-bottom:1px solid var(--mkc-border); }
.mkc-list li:last-child { border-bottom:0; }
.mkc-list .meta { font-size:11px; color: var(--mkc-muted); margin-top:4px; }

/* Photo picker */
.mkc-photo { display:flex; align-items:center; gap:12px; }
.mkc-photo img { width:80px; height:80px; object-fit:cover; border-radius:12px; border:1px solid var(--mkc-border); }

/* Health list */
.mkc-health { list-style:none; padding:0; margin:0; }
.mkc-health li { display:flex; justify-content:space-between; padding:10px 0; border-bottom:1px dashed var(--mkc-border); }
.mkc-health li .ok  { color: var(--mkc-accent); font-weight:600; }
.mkc-health li .bad { color: var(--mkc-danger); font-weight:600; }

/* Persian datepicker theme sync */
.datepicker-plot-area { font-family: 'Vazirmatn FD', Vazirmatn, Tahoma, sans-serif !important; direction: rtl; }
.datepicker-plot-area .datepicker-header .btn-next, .datepicker-plot-area .datepicker-header .btn-prev { color: var(--mkc-primary); }
.datepicker-plot-area .table-days td span.selected { background: var(--mkc-primary) !important; }

/* Coming-soon cards */
.mkc-coming-soon { text-align:center; padding: 40px 16px; }

/* Print (for manager report) */
@media print {
    .mkc-sidebar, .mkc-topbar, .mkc-btn { display: none !important; }
    .mkc-main { padding: 0 !important; }
}

/* Responsive */
@media (max-width: 900px) {
    .mkc-shell { grid-template-columns: 1fr; }
    .mkc-sidebar { position: sticky; top: 0; z-index: 5; }
    .mkc-grid.cols-4 { grid-template-columns: repeat(2, 1fr); }
    .mkc-grid.cols-3 { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
    .mkc-grid.cols-4, .mkc-grid.cols-2 { grid-template-columns: 1fr; }
    .mkc-main { padding: 16px; }
}

/* 2.1 UX refinements */
.mkc-app { font-family: Tahoma, Arial, sans-serif; }
.mkc-help, .mkc-muted-text { color: var(--mkc-muted); font-size: 12px; margin-top: 6px; }
.mkc-field-error { border-color: var(--mkc-danger) !important; box-shadow: 0 0 0 3px rgba(220,38,38,.12) !important; }
.mkc-table-wrap { width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.mkc-docs { border: 1px dashed var(--mkc-border); border-radius: 12px; padding: 12px; background: #fafafa; }
.mkc-docs-list { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 10px; }
.mkc-doc-chip { display: inline-flex; align-items: center; gap: 6px; padding: 5px 9px; border-radius: 999px; background: #eef2ff; color: #3730a3; font-size: 12px; }
.mkc-doc-remove { border: 0; background: transparent; color: #991b1b; cursor: pointer; font-size: 15px; line-height: 1; }
.mkc-jdp { position: absolute; z-index: 999999; width: 292px; background: #fff; border: 1px solid var(--mkc-border); border-radius: 14px; box-shadow: 0 16px 40px rgba(15,23,42,.18); padding: 12px; font-family: inherit; }
.mkc-jdp-title { font-weight: 700; margin-bottom: 8px; color: #111827; }
.mkc-jdp-row { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 8px; }
.mkc-jdp select { width: 100%; padding: 8px; border: 1px solid var(--mkc-border); border-radius: 10px; font-family: inherit; background: #fff; }
.mkc-jdp-actions { display: flex; justify-content: space-between; gap: 8px; margin-top: 10px; }
.mkc-panel-disabled { opacity: .55; pointer-events: none; }
.mkc-section h3 { font-weight: 700; }
@media (max-width: 700px) {
    .mkc-topbar { align-items:flex-start; gap:10px; flex-direction:column; }
    .mkc-topbar .mkc-user { flex-direction:column; align-items:flex-start; gap:4px; }
    .mkc-nav { display:flex; overflow-x:auto; white-space:nowrap; padding-bottom:6px; }
    .mkc-nav a { flex:0 0 auto; padding:9px 14px; border-right:0 !important; border-bottom:2px solid transparent; }
    .mkc-nav a.active { border-bottom-color:var(--mkc-primary); }
    .mkc-sidebar .mkc-brand { margin-bottom:4px; border-bottom:0; }
    .mkc-nav .mkc-nav-section { display:none; }
    .mkc-section-header { flex-direction:column; align-items:flex-start; gap:10px; }
    .mkc-actions { flex-wrap:wrap; }
    .mkc-table { min-width:680px; }
    .mkc-jdp { left: 12px !important; right: 12px !important; width: auto; }
}

/* 2.2 operational modules */
.mkc-form-grid { display:grid; grid-template-columns: repeat(3, minmax(180px,1fr)); gap:12px; align-items:end; }
.mkc-form-grid label, .mkc-form label { display:flex; flex-direction:column; gap:7px; font-size:12px; font-weight:700; color:#374151; }
.mkc-form-grid .wide { grid-column: 1 / -1; }
.mkc-form input, .mkc-form select, .mkc-form textarea, .mkc-filter input, .mkc-filter select, .mkc-inline-form input, .mkc-inline-form select { border:1px solid var(--mkc-border); border-radius:12px; padding:10px 12px; font-family:inherit; background:#fff; min-height:40px; }
.mkc-form textarea { min-height:92px; resize:vertical; }
.mkc-filter { display:flex; flex-wrap:wrap; gap:10px; align-items:end; margin-bottom:14px; }
.mkc-inline-form { display:flex; gap:6px; flex-wrap:wrap; align-items:center; }
.mkc-inline-form input, .mkc-inline-form select { max-width:135px; padding:7px 9px; min-height:34px; }
.mkc-question { border:1px solid var(--mkc-border); background:#f8fafc; border-radius:14px; padding:14px; margin:10px 0; }
.mkc-question label { display:block; margin:8px 0; font-weight:500; }
.mkc-num { font-size:24px; font-weight:900; color:#111827; margin-top:6px; }
@media(max-width:800px){ .mkc-form-grid{grid-template-columns:1fr;} .mkc-inline-form input,.mkc-inline-form select{max-width:100%; width:100%;} }
