:root{--gold: #C9A44A;--gold-light: #E8D5A3;--gold-dark: #A67C2E;--gold-bright: #E8C86A;--navy: #1A2744;--navy-mid: #2A3F66;--navy-light: #3D5A80;--warm-white: #FBF7F0;--cream: #F5EDE0;--charcoal: #2D2D2D;--gray-light: #E5E0D8;--gray-mid: #8B8580;--bg: var(--warm-white);--bg-card: rgba(255,255,255,.7);--bg-hover: rgba(26,39,68,.06);--border: rgba(26,39,68,.1);--border-strong: rgba(26,39,68,.18);--text: var(--charcoal);--text-muted: #6B6560;--accent: var(--gold);--accent-grad: linear-gradient(135deg, var(--gold), var(--gold-dark));--navy-grad: linear-gradient(135deg, var(--navy), var(--navy-mid));--radius-sm: 8px;--radius: 14px;--radius-lg: 20px;--shadow: 0 4px 24px rgba(26,39,68,.08);--shadow-lg: 0 12px 48px rgba(26,39,68,.12);--font-arabic: "Amiri", "Traditional Arabic", serif;--font-english: "Cormorant Garamond", "Georgia", serif;--font-ui: "Inter", ui-sans-serif, system-ui, -apple-system, sans-serif}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-ui);line-height:1.7;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;min-height:100dvh;direction:rtl}.app{position:relative;overflow-x:hidden;min-height:100dvh}.landing{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:2rem;position:relative;background:radial-gradient(ellipse at 50% 30%,rgba(201,164,74,.08),transparent 60%),radial-gradient(ellipse at 50% 80%,rgba(26,39,68,.04),transparent 50%)}.landing-logo{width:140px;height:140px;border-radius:50%;background:var(--navy);display:flex;align-items:center;justify-content:center;margin-bottom:1.5rem;border:3px solid var(--gold);box-shadow:0 0 40px #c9a44a33}.landing-logo svg{width:100px;height:100px}.landing h1{font-family:var(--font-arabic);font-size:clamp(2rem,5vw,2.8rem);font-weight:700;color:var(--navy);margin-bottom:.5rem}.landing .subtitle{font-family:var(--font-english);font-size:.95rem;color:var(--gold-dark);letter-spacing:2px;margin-bottom:1rem}.landing p{color:var(--text-muted);max-width:420px;font-size:.95rem;line-height:1.8;margin-bottom:2.5rem}.landing .divider{width:60px;height:2px;background:var(--accent-grad);border-radius:2px;margin:0 auto 2rem}.login-btn{display:inline-flex;align-items:center;gap:.6rem;padding:.8rem 2rem;border-radius:999px;background:var(--accent-grad);color:#fff;border:none;font-size:1rem;font-weight:600;cursor:pointer;text-decoration:none;font-family:var(--font-ui);box-shadow:0 6px 28px #c9a44a4d;transition:transform .2s,box-shadow .2s}.login-btn:hover{transform:translateY(-2px);box-shadow:0 10px 40px #c9a44a66}.login-page{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:2rem;background:radial-gradient(ellipse at 50% 30%,rgba(201,164,74,.06),transparent 50%)}.login-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--shadow-lg);padding:2.5rem;width:100%;max-width:400px}.login-card h2{font-family:var(--font-arabic);font-size:1.5rem;color:var(--navy);text-align:center;margin-bottom:.25rem}.login-card .login-sub{text-align:center;font-size:.85rem;color:var(--text-muted);margin-bottom:1.5rem}.login-card .form-group{margin-bottom:1rem}.login-card .form-group label{font-size:.82rem;font-weight:600;color:var(--navy);display:block;margin-bottom:.35rem}.login-card .form-group input{width:100%;padding:.65rem .9rem;background:#ffffffb3;border:1.5px solid var(--border);border-radius:var(--radius-sm);font-size:.9rem;color:var(--text);outline:none;font-family:var(--font-ui);transition:border-color .2s,box-shadow .2s}.login-card .form-group input:focus{border-color:var(--gold);box-shadow:0 0 0 3px #c9a44a1f}.login-card .login-btn-full{width:100%;padding:.75rem;margin-top:.5rem;border-radius:999px;background:var(--accent-grad);color:#fff;border:none;font-size:.95rem;font-weight:600;cursor:pointer;font-family:var(--font-ui);transition:transform .15s,box-shadow .15s}.login-card .login-btn-full:hover{transform:translateY(-1px);box-shadow:0 6px 24px #c9a44a4d}.login-card .login-btn-full:disabled{opacity:.5;cursor:not-allowed;transform:none}.login-error{color:#dc2626;font-size:.82rem;text-align:center;margin-bottom:.75rem}.login-back{display:block;text-align:center;font-size:.82rem;color:var(--text-muted);text-decoration:none;margin-top:1rem}.login-back:hover{color:var(--navy)}.dash-wrap{display:flex;min-height:100dvh}.dash-sidebar{width:240px;background:var(--navy);color:#fff;display:flex;flex-direction:column;padding:1.25rem;position:fixed;top:0;right:0;bottom:0;z-index:50}.dash-logo{display:flex;align-items:center;gap:.7rem;margin-bottom:2rem}.dash-logo-icon{width:40px;height:40px;border-radius:50%;background:var(--gold);flex-shrink:0;border:2px solid var(--gold-light)}.dash-logo-text{font-family:var(--font-arabic);font-size:1rem;font-weight:700}.dash-logo-sub{font-family:var(--font-english);font-size:.6rem;letter-spacing:1.5px;color:var(--gold-light);opacity:.7}.dash-nav{flex:1;display:flex;flex-direction:column;gap:.25rem}.dash-nav-item{display:flex;align-items:center;gap:.6rem;padding:.65rem .85rem;border-radius:var(--radius-sm);border:none;background:transparent;color:#ffffffa6;font-size:.85rem;cursor:pointer;font-family:var(--font-ui);transition:all .2s;text-align:right}.dash-nav-item:hover{background:#ffffff14;color:#fff}.dash-nav-item.active{background:#c9a44a33;color:var(--gold-light)}.dash-sidebar-footer{border-top:1px solid rgba(255,255,255,.08);padding-top:1rem}.dash-user{display:flex;align-items:center;gap:.5rem;font-size:.82rem;color:#fff9;margin-bottom:.5rem}.dash-logout-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-radius:var(--radius-sm);border:1px solid rgba(255,255,255,.1);background:transparent;color:#ffffff80;cursor:pointer;font-size:.78rem;font-family:var(--font-ui);width:100%;transition:all .2s}.dash-logout-btn:hover{background:#f8717126;color:#f87171;border-color:#f871714d}.dash-main{margin-right:240px;flex:1;padding:2rem}.dash-header{margin-bottom:1.5rem}.dash-header h2{font-family:var(--font-arabic);font-size:1.4rem;color:var(--navy)}.dash-header p{font-size:.85rem;color:var(--text-muted)}.dash-stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;margin-bottom:2rem}.stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.stat-card-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.stat-card-header .stat-icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center}.stat-card-label{font-size:.78rem;color:var(--text-muted)}.stat-card-value{font-family:var(--font-arabic);font-size:1.5rem;font-weight:700;color:var(--navy)}.stat-card-sub{font-size:.75rem;color:var(--text-muted);margin-top:.2rem}.chart-wrap{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;margin-bottom:1.5rem;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.chart-wrap h3{font-family:var(--font-arabic);font-size:1rem;color:var(--navy);margin-bottom:1rem}.chart-bars{display:flex;align-items:flex-end;gap:6px;height:180px;padding-top:1rem}.chart-bar-wrap{flex:1;display:flex;flex-direction:column;align-items:center}.chart-bar{width:100%;max-width:36px;border-radius:4px 4px 0 0;min-height:4px;transition:height .4s;position:relative}.chart-bar-label{font-size:.65rem;color:var(--text-muted);margin-top:.4rem;white-space:nowrap}.chart-bar-value{font-size:.65rem;color:var(--text-muted);margin-bottom:.25rem}.chart-donut{display:flex;align-items:center;justify-content:center;gap:2rem;flex-wrap:wrap}.donut-svg{width:160px;height:160px}.donut-legend{display:flex;flex-direction:column;gap:.5rem}.donut-legend-item{display:flex;align-items:center;gap:.5rem;font-size:.82rem;color:var(--text-muted)}.table-wrap{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.table-wrap table{width:100%;border-collapse:collapse}.table-wrap th{text-align:right;padding:.75rem 1rem;font-size:.78rem;font-weight:600;color:var(--text-muted);border-bottom:1px solid var(--border);background:#1a274405}.table-wrap td{padding:.7rem 1rem;font-size:.85rem;border-bottom:1px solid rgba(26,39,68,.04)}.table-wrap tr:last-child td{border-bottom:none}.status-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .6rem;border-radius:999px;font-size:.72rem;font-weight:600}.status-paid{background:#4ade801f;color:#16a34a}.status-unpaid{background:#f871711f;color:#dc2626}.status-pending{background:#fbbf241f;color:#d97706}.toast-wrap{position:fixed;bottom:1.5rem;left:1.5rem;z-index:200;display:flex;flex-direction:column;gap:.5rem}.toast{padding:.75rem 1.25rem;border-radius:var(--radius-sm);font-size:.85rem;font-weight:500;box-shadow:var(--shadow-lg);animation:fadeUp .3s ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.toast.success{background:#4ade8026;border:1px solid rgba(74,222,128,.3);color:#16a34a}.toast.error{background:#f8717126;border:1px solid rgba(248,113,113,.3);color:#dc2626}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.fade-up{animation:fadeUp .4s ease forwards}.pay-btn{padding:.35rem .75rem;border-radius:999px;border:none;background:var(--accent-grad);color:#fff;font-size:.75rem;font-weight:600;cursor:pointer;font-family:var(--font-ui);transition:transform .15s}.pay-btn:hover{transform:translateY(-1px)}.pay-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}@media (max-width: 768px){.dash-sidebar{width:200px}.dash-main{margin-right:200px;padding:1.25rem}.dash-nav-item span{font-size:.78rem}}@media (max-width: 640px){.dash-sidebar{width:60px;padding:.75rem .5rem}.dash-sidebar .dash-logo-text,.dash-sidebar .dash-logo-sub,.dash-nav-item span,.dash-user span,.dash-logout-btn span{display:none}.dash-main{margin-right:60px;padding:1rem}.dash-nav-item{justify-content:center;padding:.65rem}.dash-logo-icon{width:32px;height:32px}.dash-stats{grid-template-columns:1fr 1fr}}.btn-outline{border:1.5px solid var(--navy);color:var(--navy);background:transparent}.btn-outline:hover{background:var(--navy);color:#fff}.table-wrap th.center,.table-wrap td.center{text-align:center}
