:root {
    --migrago-bg: #fff;
    --migrago-text: #111;
    --migrago-line: rgba(0, 0, 0, 0.12);
    --migrago-line-strong: rgba(0, 0, 0, 0.18);
    --migrago-dashed: rgba(44, 44, 44, 0.55);
    --migrago-active: #ff7a00;
}

.migrago-dashboard-shell,
.migrago-auth-portal {
    direction: rtl;
    font-family: 'Cairo', Tahoma, Arial, sans-serif;
    color: var(--migrago-text);
}

/* Auth */
.migrago-auth-portal { display:flex; justify-content:center; padding:24px 12px; }
.migrago-auth-card { width:min(760px,100%); background:var(--migrago-bg); border:1px solid var(--migrago-line-strong); border-radius:16px; padding:20px; }
.migrago-auth-head h2 { margin:0 0 8px; font-size:30px; }
.migrago-auth-subtitle { margin:0 0 14px; color:#333; }
.migrago-auth-form { display:grid; gap:12px; }
.migrago-auth-form label { display:grid; gap:6px; font-weight:600; }
.migrago-auth-form input,
.migrago-auth-card .login-username input,
.migrago-auth-card .login-password input { border:1px solid var(--migrago-line-strong); border-radius:12px; padding:11px 12px; width:100%; }

.migrago-auth-actions,.migrago-auth-links { margin-top:14px; display:flex; gap:8px; flex-wrap:wrap; }
.migrago-auth-btn,.migrago-auth-links a,.migrago-auth-card .button,.migrago-auth-card .login-submit input[type="submit"] {
    border:2px dashed var(--migrago-dashed); border-radius:12px; background:#fff; color:#222; padding:10px 14px; font-weight:700; text-decoration:none;
}
.migrago-auth-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.migrago-auth-tile { display:grid; gap:6px; border:1px solid var(--migrago-line-strong); border-radius:14px; padding:14px; text-decoration:none; color:inherit; }
.migrago-auth-success,.migrago-auth-error { border:1px solid var(--migrago-line-strong); border-radius:12px; padding:10px 12px; margin:10px 0; }

/* Dashboard */
.migrago-dashboard-shell { display:grid; grid-template-columns:300px 1fr; gap:16px; }
.migrago-dashboard-sidebar,
.migrago-dashboard-content,
.migrago-panel-card,
.migrago-booking-card,
.migrago-payment-item,
.migrago-stat,
.migrago-profile-completion { border:1px solid var(--migrago-line); border-radius:14px; background:#fff; }

.migrago-dashboard-sidebar { position:sticky; top:16px; padding:12px; align-self:start; }
.migrago-user-quick-card { border:1px solid var(--migrago-line-strong); border-radius:14px; padding:12px; margin-bottom:12px; }
.migrago-user-avatar img { border-radius:50%; border:1px solid var(--migrago-line-strong); }
.migrago-account-status { display:inline-block; border:1px solid var(--migrago-line-strong); border-radius:10px; padding:6px 10px; }

.migrago-side-nav { display:grid; gap:8px; }
.migrago-side-link,.migrago-logout-link { border:2px dashed var(--migrago-dashed); border-radius:12px; background:#fff; color:#222; padding:11px; text-align:right; font-weight:700; }

.migrago-dashboard-content { padding:16px; min-height:620px; }
.migrago-welcome { margin:0 0 14px; color:#2b2b2b; font-weight:600; }
.migrago-section-panel { display:none; }
.migrago-section-panel.is-active { display:block; }
.migrago-section-panel > h2 { margin:0 0 14px; font-size:28px; }
.migrago-panel-card { padding:14px; margin-bottom:14px; }

.migrago-section-head { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:8px; }
.migrago-data-view ul { margin:0; padding:0 18px 0 0; display:grid; gap:6px; }
.migrago-edit-form { display:none; margin-top:10px; }
.migrago-edit-form.is-open { display:block; }
.migrago-data-view.is-hidden { display:none; }

.migrago-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.migrago-form-grid label { display:grid; gap:4px; font-weight:600; }
.migrago-form-grid input,.migrago-form-grid select,.migrago-form-grid textarea { border:1px solid var(--migrago-line-strong); border-radius:12px; padding:10px 12px; }

.migrago-action-btn,.migrago-booking-tab { border:2px dashed var(--migrago-dashed); border-radius:12px; background:#fff; color:#222; padding:10px 14px; font-weight:700; }
.migrago-form-actions { display:flex; gap:8px; margin-top:10px; flex-wrap:wrap; }

.migrago-profile-completion { padding:12px; margin-bottom:12px; }
.migrago-progress-track { height:8px; background:#f2f2f2; border-radius:999px; overflow:hidden; margin-top:8px; }
.migrago-progress-track span { display:block; height:100%; background:var(--migrago-active); }

.migrago-stats-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-bottom:12px; }
.migrago-stat { padding:12px; }

.migrago-booking-tabs { margin-bottom:10px; }
.migrago-service-pane { display:none; }
.migrago-service-pane.is-active { display:block; }
.migrago-booking-card { padding:12px; margin-top:10px; }

.migrago-notice-success { border-color:#b9c6b5; background:#f8fbf7; }
.migrago-notice-error { border-color:#d8b6b6; background:#fdf7f7; }

.migrago-side-link:focus,.migrago-side-link.is-active,
.migrago-action-btn:focus,.migrago-action-btn:hover,
.migrago-booking-tab:focus,.migrago-booking-tab.is-active,
.migrago-booking-card:focus,.migrago-booking-card.is-active,
.migrago-form-grid input:focus,.migrago-form-grid select:focus,.migrago-form-grid textarea:focus,
.migrago-auth-form input:focus,.migrago-auth-btn:focus,.migrago-auth-btn:hover,
.migrago-auth-links a:focus,.migrago-auth-links a:hover,.migrago-auth-tile:focus,.migrago-auth-tile:hover,
.migrago-logout-link:focus { border-color:var(--migrago-active); outline:none; }

@media (max-width:980px){
    .migrago-dashboard-shell{grid-template-columns:1fr}
    .migrago-dashboard-sidebar{position:static}
    .migrago-form-grid,.migrago-auth-grid,.migrago-stats-grid{grid-template-columns:1fr}
}
