@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Sans+Arabic:wght@100;200;300;400;500;600;700&display=swap";
:root{--font-sans:"IBM Plex Sans Arabic", system-ui, -apple-system, "Segoe UI", sans-serif;--bg:#f5f3f4;--surface:#fff;--surface-alt:#faf8f9;--text:#1a0a10;--text-2:#5c4550;--text-3:#9a8b91;--border:#e8dee2;--border-strong:#d4c6cc;--primary:#a40e4c;--primary-hover:#8a0b3f;--primary-fg:#fff;--primary-subtle:#fdf2f6;--danger:#c41e3a;--danger-subtle:#fef1f3;--success:#0d7c66;--success-subtle:#effaf6;--amber:#a6600a;--amber-subtle:#fff8ed;--teal:#0e7490;--teal-subtle:#effbff;--radius:4px;--radius-md:6px;--shadow-sm:0 1px 2px #6414320a;--shadow:0 1px 3px #6414320f, 0 1px 2px #64143208;--shadow-md:0 4px 12px #6414320f;--transition:.15s ease}@media (prefers-color-scheme:dark){:root{--bg:#110810;--surface:#1c0f18;--surface-alt:#251722;--text:#f4edf0;--text-2:#b09aa8;--text-3:#7a6872;--border:#2e1c28;--border-strong:#43303c;--primary:#d4367a;--primary-hover:#e85a95;--primary-fg:#fff;--primary-subtle:#a40e4c24;--danger:#ef4444;--danger-subtle:#ef44441a;--success:#34d399;--success-subtle:#34d3991a;--amber:#fbbf24;--amber-subtle:#fbbf241a;--teal:#22d3ee;--teal-subtle:#22d3ee1a;--shadow-sm:0 1px 2px #0000004d;--shadow:0 1px 3px #00000059;--shadow-md:0 4px 12px #00000059}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{height:100%}body{min-height:100vh;font-family:var(--font-sans);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;line-height:1.6}.topbar{background:var(--surface);border-bottom:2px solid var(--primary);justify-content:space-between;align-items:center;height:56px;padding:0 2rem;display:flex}.topbar-brand{color:var(--text);letter-spacing:-.01em;align-items:center;gap:.5rem;font-size:1rem;font-weight:700;display:flex}.topbar-brand svg{color:var(--primary)}.topbar-actions{align-items:center;gap:.5rem;display:flex}.shell{max-width:960px;margin:0 auto;padding:2.5rem 1.5rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.upload-zone{border:2px dashed var(--border-strong);border-radius:var(--radius-md);text-align:center;transition:border-color var(--transition), background var(--transition);cursor:pointer;padding:3.5rem 2rem;position:relative}.upload-zone:hover,.upload-zone.drag-over{border-color:var(--primary);background:var(--primary-subtle)}.upload-zone input[type=file]{opacity:0;cursor:pointer;position:absolute;inset:0}.upload-icon{width:48px;height:48px;color:var(--text-3);transition:color var(--transition);margin:0 auto 1rem}.upload-zone:hover .upload-icon{color:var(--primary)}.upload-title{color:var(--text);margin-bottom:.25rem;font-size:1.125rem;font-weight:600}.upload-hint{color:var(--text-3);font-size:.8125rem}.file-chip{background:var(--surface-alt);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-2);align-items:center;gap:.5rem;margin-top:1.5rem;padding:.5rem 1rem;font-size:.875rem;display:inline-flex}.file-chip svg{color:var(--primary);flex-shrink:0}.btn{border-radius:var(--radius);cursor:pointer;transition:all var(--transition);white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:.5rem;padding:.625rem 1.25rem;font-family:inherit;font-size:.875rem;font-weight:600;display:inline-flex}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--primary);color:var(--primary-fg);border-color:var(--primary)}.btn-primary:not(:disabled):hover{background:var(--primary-hover);border-color:var(--primary-hover)}.btn-ghost{color:var(--text-2);border-color:var(--border);background:0 0}.btn-ghost:hover{background:var(--surface-alt);border-color:var(--border-strong)}.btn-lg{width:100%;padding:.875rem 1.5rem;font-size:1rem}.samples{flex-direction:column;gap:.5rem;margin-top:1.5rem;display:flex}.samples-label{color:var(--text-3);text-align:center;margin-bottom:.25rem;font-size:.8125rem}.samples-grid{grid-template-columns:repeat(3,1fr);gap:.5rem;display:grid}.sample-btn{background:var(--surface-alt);color:var(--text-2);border:1px dashed var(--border-strong);border-radius:var(--radius);cursor:pointer;transition:all var(--transition);justify-content:center;align-items:center;gap:.5rem;padding:.625rem .75rem;font-family:inherit;font-size:.8125rem;font-weight:500;display:flex}.sample-btn svg{color:var(--text-3);transition:color var(--transition);flex-shrink:0}.sample-btn:hover{border-style:solid;border-color:var(--primary);color:var(--primary);background:var(--primary-subtle)}.sample-btn:hover svg{color:var(--primary)}.privacy-notice{background:var(--success-subtle);border-radius:var(--radius);color:var(--success);border:1px solid #0000;align-items:center;gap:.5rem;margin-top:1.5rem;padding:.625rem 1rem;font-size:.8125rem;display:flex}.error-box{background:var(--danger-subtle);border-radius:var(--radius);color:var(--danger);border:1px solid #0000;margin-top:1rem;padding:.75rem 1rem;font-size:.875rem}.stats-row{grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1.5rem;display:grid}.stat-card{border-inline-start:3px solid var(--border);padding:1.25rem}.stat-card[data-accent=primary]{border-inline-start-color:var(--primary)}.stat-card[data-accent=success]{border-inline-start-color:var(--success)}.stat-card[data-accent=amber]{border-inline-start-color:var(--amber)}.stat-label{color:var(--text-3);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.375rem;font-size:.75rem;font-weight:500}.stat-value{color:var(--text);text-align:end;font-size:1.5rem;font-weight:700;line-height:1.2}.table-wrap{overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:.875rem}.table th{text-align:start;color:var(--text-3);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border);background:var(--surface-alt);padding:.75rem 1.25rem;font-size:.75rem;font-weight:600}.table td{border-bottom:1px solid var(--border);color:var(--text);padding:.875rem 1.25rem}.table tbody tr:last-child td{border-bottom:none}.table tbody tr:hover td{background:var(--surface-alt)}.table .amount{font-variant-numeric:tabular-nums;text-align:end;font-weight:700}.table .col-amount{text-align:end}.freq-badge{border-radius:var(--radius);align-items:center;padding:.125rem .625rem;font-size:.75rem;font-weight:600;display:inline-flex}.freq-badge[data-freq=monthly]{background:var(--primary-subtle);color:var(--primary)}.freq-badge[data-freq=yearly]{background:var(--teal-subtle);color:var(--teal)}.freq-badge[data-freq=daily]{background:var(--amber-subtle);color:var(--amber)}.table-footer{background:var(--surface-alt);border-top:1px solid var(--border);justify-content:space-between;align-items:center;padding:1rem 1.25rem;font-size:.875rem;display:flex}.table-footer-label{color:var(--text-2);font-weight:600}.table-footer-value{font-variant-numeric:tabular-nums;color:var(--text);font-weight:700}.section-head{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.section-title{color:var(--text);margin:0;font-size:1.25rem;font-weight:700}.empty-state{text-align:center;color:var(--text-3);padding:3rem 1rem;font-size:.9375rem}.site-footer{color:var(--text-3);letter-spacing:.02em;flex-direction:column;align-items:center;gap:.25rem;padding:2rem 1rem;font-size:.75rem;display:flex}.site-footer a{color:var(--primary);transition:opacity var(--transition);font-weight:600;text-decoration:none}.site-footer a:hover{opacity:.75}.footer-sep{color:var(--border-strong);margin:0 .125rem}@keyframes spin{to{transform:rotate(360deg)}}.spinner{animation:.8s linear infinite spin}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:.3s ease-out forwards fadeIn}@media (max-width:640px){.topbar{padding:0 1rem}.shell{padding:1.5rem 1rem}.stats-row{grid-template-columns:1fr}.upload-zone{padding:2.5rem 1.25rem}.section-head{flex-direction:column;align-items:stretch;gap:.75rem}.topbar-actions{gap:.375rem}.btn{padding:.5rem .875rem;font-size:.8125rem}.table th,.table td{padding:.75rem .875rem}.samples-grid{grid-template-columns:1fr}}@media print{body{color:#000;background:#fff}.topbar,.no-print{display:none!important}.shell{max-width:none;padding:0}.card{box-shadow:none;border:1px solid #ddd}.stat-card{border-inline-start-color:#999}.freq-badge{color:#333;background:0 0;border:1px solid #ccc}}
