:root{--g600:#1e7a4a;--g700:#155e38;--g800:#0d4226;--g100:#d1f0df;--g400:#3daa70;--gold:#f0ce72;--gold-bg:#f8e9b8;--red:#e05b5b;--red-bg:#fce8e8;--amber:#d4850a;--amber-bg:#fef3dc;--surface:#fff;--cream:#faf9f6;--surface2:#f7f6f2;--text1:#1a1a18;--text2:#4a4a42;--text3:#7a7a72;--text4:#aaa9a0;--border:#1e7a4a1a;--border2:#1e7a4a33;--nav:64px;--bottom:68px;--font:"DM Sans", -apple-system, sans-serif;--font-ar:"Amiri", Georgia, serif}:root[data-theme=dark]{--surface:#1b201b;--cream:#101410;--surface2:#242a24;--text1:#f0f0ec;--text2:#c7c7bf;--text3:#96968d;--text4:#68685f;--border:#d2f0dc14;--border2:#d2f0dc29;--gold-bg:#f0ce7229;--red-bg:#e05b5b2e;--amber-bg:#d4850a33}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font);background:var(--cream);color:var(--text1);overscroll-behavior:none;-webkit-font-smoothing:antialiased;min-height:100vh}button,input,select,textarea{font-family:var(--font)}#app{background:var(--cream);flex-direction:column;width:100%;max-width:430px;height:100dvh;margin:0 auto;display:flex;position:relative;overflow:hidden}#app-body{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}@media (width>=600px){body{background:#dde8df;justify-content:center;display:flex}#app{height:100dvh;box-shadow:0 0 0 1px #0000000f,0 8px 40px #00000021}}#main-content{-webkit-overflow-scrolling:touch;padding-bottom:calc(var(--bottom) + 16px);flex:1;overflow-y:auto}.page{padding:16px;animation:.22s fadeUp}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}#top-nav{z-index:200;background:var(--g700);height:var(--nav);justify-content:space-between;align-items:center;padding:0 16px;display:flex;position:sticky;top:0;box-shadow:0 2px 12px #0000002e}#bottom-nav{z-index:200;background:var(--surface);border-top:1px solid var(--border2);width:100%;max-width:430px;height:var(--bottom);padding-bottom:env(safe-area-inset-bottom,0px);display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%);box-shadow:0 -4px 20px #0000000f}.nav-item{cursor:pointer;color:inherit;background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;padding:8px 4px;text-decoration:none;display:flex}.nav-icon{border-radius:10px;justify-content:center;align-items:center;width:26px;height:26px;display:flex}.nav-label{font-size:10px;font-weight:500}#login-screen{z-index:999;background:linear-gradient(160deg, var(--g800) 0%, var(--g700) 50%, var(--g600) 100%);flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex;position:fixed;inset:0}.login-card{background:var(--surface);border-radius:24px;width:100%;max-width:360px;padding:28px 24px;box-shadow:0 8px 40px #0003}.login-input{background:var(--surface);border:1.5px solid var(--border2);width:100%;height:48px;color:var(--text1);font-size:15px;font-family:var(--font);border-radius:12px;outline:none;padding:0 14px}.login-input:focus{border-color:var(--g400)}#toast{top:calc(var(--nav) + 10px);background:var(--g800);color:#fff;z-index:9999;opacity:0;pointer-events:none;white-space:nowrap;border-radius:20px;padding:10px 20px;font-size:13px;font-weight:500;transition:all .25s;position:fixed;left:50%;transform:translate(-50%)translateY(-4px);box-shadow:0 4px 20px #0003}#toast.show{opacity:1;transform:translate(-50%)translateY(0)}.error-banner{background:var(--red-bg);color:var(--red);border:1px solid #f5c0c0;border-radius:8px;margin-bottom:14px;padding:10px 14px;font-size:13px}.spinner{vertical-align:middle;border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:18px;height:18px;margin-right:6px;animation:.7s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.modal-overlay{z-index:900;background:#0d422673;justify-content:center;align-items:flex-end;animation:.18s fadeUp;display:flex;position:fixed;inset:0}@media (width>=600px){.modal-overlay{align-items:center}}.modal-card{background:var(--surface);width:100%;max-width:430px;max-height:88vh;padding:20px 18px calc(20px + env(safe-area-inset-bottom,0px));border-radius:20px 20px 0 0;overflow-y:auto}@media (width>=600px){.modal-card{border-radius:20px;max-height:80vh}}.modal-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.modal-header span{font-size:17px;font-weight:700}.modal-close{background:var(--surface2);width:32px;height:32px;color:var(--text2);cursor:pointer;border:none;border-radius:50%;font-size:14px}@media (width>=900px){#app{flex-direction:row;max-width:1100px}#app-body{min-width:0}#bottom-nav{border-top:none;border-right:1px solid var(--border2);width:220px;max-width:220px;height:auto;box-shadow:none;flex-direction:column;flex:0 0 220px;order:-1;justify-content:flex-start;align-items:stretch;gap:2px;padding:20px 8px;position:static;left:auto;transform:none}.nav-item{border-radius:10px;flex-direction:row;flex:none;justify-content:flex-start;gap:12px;padding:11px 14px}#main-content{padding-bottom:16px}}.card{background:var(--surface);border:1px solid var(--border);border-radius:16px;margin-bottom:12px;padding:16px;box-shadow:0 1px 2px #0000000d}.stat-grid{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px;display:grid}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:14px}.stat-label{color:var(--text3);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;font-size:11px;font-weight:600}.stat-value{letter-spacing:-.5px;font-size:24px;font-weight:700;line-height:1}.stat-sub{margin-top:4px;font-size:11px;font-weight:500}.stat-sub.up{color:var(--g-link,var(--g600))}.stat-sub.dn{color:var(--red)}.stat-sub.neu{color:var(--text3)}.btn-primary{background:var(--g600);color:#fff;cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;width:100%;height:52px;font-size:15px;font-weight:600;transition:all .18s;display:flex;box-shadow:0 2px 12px #1e7a4a4d}.btn-primary:active{background:var(--g700);transform:scale(.98)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{border:1.5px solid var(--border2);background:var(--surface);height:46px;color:var(--text2);cursor:pointer;border-radius:8px;padding:0 16px;font-size:13px;font-weight:500}.form-label{color:var(--text2);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;font-size:11px;font-weight:700;display:block}.form-select,.form-input{background:var(--surface);border:1.5px solid var(--border2);width:100%;height:46px;color:var(--text1);border-radius:8px;padding:0 12px;font-size:14px}.form-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%231e7a4a' stroke-width='2.5'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;padding-right:32px}.form-textarea{background:var(--surface);border:1.5px solid var(--border2);width:100%;color:var(--text1);resize:none;border-radius:8px;padding:10px 12px;font-size:14px;line-height:1.5}.badge{white-space:nowrap;border-radius:20px;align-items:center;padding:3px 8px;font-size:11px;font-weight:600;display:inline-flex}.badge-green{background:var(--g100);color:var(--g-link,var(--g700))}.badge-gold{background:var(--gold-bg);color:#9a7210}.badge-red{background:var(--red-bg);color:var(--red)}.badge-grey{background:var(--surface2);color:var(--text2)}.progress-wrap{background:var(--g100);border-radius:20px;flex:1;height:6px;overflow:hidden}.progress-fill{background:linear-gradient(90deg, var(--g400), var(--g600));border-radius:20px;height:100%;transition:width .5s}.chart-bars{align-items:flex-end;gap:4px;display:flex}.chart-bar{border-radius:4px 4px 0 0;flex:1;min-width:0}.chart-label{color:var(--text3);text-align:center;flex:1;font-size:9px}.heatmap{grid-template-columns:repeat(7,1fr);gap:3px;display:grid}.heat-cell{aspect-ratio:1;border-radius:3px}.quick-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.section-label{color:var(--text3);text-transform:uppercase;letter-spacing:.8px;margin-bottom:10px;font-size:11px;font-weight:700}.arabic{font-family:var(--font-ar);direction:rtl}@media print{body{padding:0}}
