:root{--color-bg: #f8f7f4;--color-surface: #ffffff;--color-surface-sunken: #f1f0eb;--color-border: #e7e6e1;--color-border-strong: #dad8d1;--color-text: #242522;--color-text-muted: #6f706a;--color-text-faint: #9c9d96;--color-primary: #6e7d5e;--color-primary-hover: #5c6a4d;--color-primary-soft: #e8ede3;--color-accent-decorative: #7c8b6b;--color-on-primary: #ffffff;--color-success: #2f8f6b;--color-success-soft: #e3f1ea;--color-warning: #c48a3a;--color-warning-soft: #f7eedf;--color-danger: #c0503f;--color-danger-soft: #f5e4e0;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-full: 999px;--shadow-xs: 0 1px 2px rgba(36, 37, 34, .05);--shadow-sm: 0 2px 6px rgba(36, 37, 34, .06);--shadow-md: 0 10px 24px rgba(36, 37, 34, .08);--shadow-lg: 0 20px 48px rgba(36, 37, 34, .12);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--sidebar-width: 260px;--bp-tablet: 960px;--bp-sidebar-collapse: 860px;--bp-mobile: 640px}*{box-sizing:border-box}html,body{height:100%;margin:0;padding:0}body{font-family:Heebo,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--color-bg);color:var(--color-text);direction:rtl;-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.5}h1,h2,h3,h4,h5,h6{margin:0;font-weight:700}p{margin:0}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}input,select,textarea{font-family:inherit;font-size:inherit}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:8px}.tabular-nums{font-variant-numeric:tabular-nums}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.card-elevated{box-shadow:var(--shadow-sm)}.page{padding:var(--space-8) var(--space-8);max-width:1200px;margin:0 auto}.page-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:var(--space-6);flex-wrap:wrap;gap:var(--space-3)}.page-title{font-size:24px;font-weight:700}.page-subtitle{color:var(--color-text-muted);font-size:13px;margin-top:4px}.breadcrumb{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--color-text-faint);font-weight:600;margin-bottom:var(--space-2)}.breadcrumb a{color:var(--color-text-muted);transition:color .15s ease}.breadcrumb a:hover{color:var(--color-primary)}.breadcrumb .icon{width:14px;height:14px}.btn{display:inline-flex;align-items:center;gap:6px;padding:9px 16px;border-radius:var(--radius-sm);border:1px solid transparent;font-size:14px;font-weight:600;transition:background .15s ease,border-color .15s ease,color .15s ease;white-space:nowrap}.btn-primary{background:var(--color-primary);color:var(--color-on-primary)}.btn-primary:hover{background:var(--color-primary-hover)}.btn-secondary{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text)}.btn-secondary:hover{background:var(--color-surface-sunken)}.btn-ghost{background:transparent;color:var(--color-text-muted)}.btn-ghost:hover{background:var(--color-surface-sunken);color:var(--color-text)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-sm{padding:6px 12px;font-size:12.5px}.btn-lg{padding:11px 20px;font-size:15px}.btn-danger{background:var(--color-danger-soft);color:var(--color-danger)}.btn-danger:hover{background:#ecd0ca}.icon{width:18px;height:18px;flex-shrink:0}.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:var(--radius-full);font-size:12px;font-weight:600}.badge-success{background:var(--color-success-soft);color:var(--color-success)}.badge-warning{background:var(--color-warning-soft);color:var(--color-warning)}.badge-danger{background:var(--color-danger-soft);color:var(--color-danger)}.badge-neutral{background:var(--color-surface-sunken);color:var(--color-text-muted)}.badge-primary{background:var(--color-primary-soft);color:var(--color-primary)}.success-text{color:var(--color-success)}.danger-text{color:var(--color-danger)}.input-field{width:100%;padding:9px 12px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);outline:none;transition:border-color .15s ease}.input-field:focus{border-color:var(--color-primary)}.input-field.error{border-color:var(--color-danger)}.input-field:disabled{background:var(--color-surface-sunken);color:var(--color-text-faint);cursor:not-allowed}.field-label{display:block;font-size:13px;font-weight:600;color:var(--color-text-muted);margin-bottom:6px}.field-label .optional-hint{font-weight:400;color:var(--color-text-faint)}.field-group{margin-bottom:var(--space-5)}.field-error{font-size:12px;color:var(--color-danger);margin-top:5px}.field-hint{font-size:12px;color:var(--color-text-faint);margin-top:5px}.form-section{margin-bottom:var(--space-6)}.form-section-title{font-size:15px;font-weight:600;margin-bottom:2px}.form-section-desc{font-size:12.5px;color:var(--color-text-muted);margin-bottom:var(--space-4)}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:0 var(--space-4)}.three-col{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0 var(--space-4)}.four-col{display:grid;grid-template-columns:repeat(4,1fr);gap:0 var(--space-4)}@media(max-width:720px){.four-col{grid-template-columns:1fr 1fr}}@media(max-width:640px){.two-col,.three-col{grid-template-columns:1fr}}.section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4);flex-wrap:wrap;gap:var(--space-2)}.detail-row{display:flex;justify-content:space-between;gap:var(--space-3);padding:9px 0;border-bottom:1px solid var(--color-border);font-size:14px}.detail-row:last-child{border-bottom:none}.detail-row.column{flex-direction:column;gap:6px}.detail-row.column p{color:var(--color-text-muted)}.detail-label{color:var(--color-text-muted);font-weight:600;flex-shrink:0}.inline-form-card{padding:var(--space-5);margin-bottom:var(--space-4)}.form-actions{display:flex;gap:var(--space-3);margin-top:var(--space-2)}.toolbar{display:flex;align-items:center;gap:var(--space-4);margin-bottom:var(--space-5);flex-wrap:wrap}.search-field{position:relative;flex:1;min-width:220px;max-width:340px}.search-field .icon{position:absolute;inset-inline-start:12px;top:50%;transform:translateY(-50%);color:var(--color-text-faint)}.search-field .input-field{padding-inline-start:36px}.segmented{display:flex;gap:2px;padding:3px;background:var(--color-surface-sunken);border-radius:var(--radius-sm)}.segmented button{padding:6px 14px;border:none;background:transparent;border-radius:7px;font-size:12.5px;font-weight:600;color:var(--color-text-muted);transition:background .15s ease,color .15s ease,box-shadow .15s ease}.segmented button.active{background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-xs)}.toggle{position:relative;width:38px;height:22px;border-radius:var(--radius-full);background:var(--color-border-strong);border:none;padding:0;transition:background .15s ease;flex-shrink:0}.toggle:after{content:"";position:absolute;top:2px;inset-inline-start:2px;width:18px;height:18px;border-radius:50%;background:#fff;transition:inset-inline-start .15s ease;box-shadow:var(--shadow-xs)}.toggle.on{background:var(--color-primary)}.toggle.on:after{inset-inline-start:18px}.toggle:disabled{opacity:.5;cursor:not-allowed}.list-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--color-border);transition:opacity .15s ease}.list-row:last-child{border-bottom:none}.list-row:hover{opacity:.75}.list-row-main{display:flex;align-items:center;gap:var(--space-3);min-width:0}.row-time{font-size:12.5px;font-weight:600;color:var(--color-text-muted);width:44px;flex-shrink:0}.row-name{font-weight:600;font-size:13.5px}.row-meta{font-size:12.5px;color:var(--color-text-muted);margin-top:1px}.row-amount{font-weight:700;font-size:14px}.item-card{padding:var(--space-4);display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.item-card+.item-card{margin-top:var(--space-3)}.empty-state{text-align:center;padding:var(--space-10) var(--space-6);color:var(--color-text-muted)}.empty-state .icon{width:28px;height:28px;margin:0 auto var(--space-3);color:var(--color-text-faint)}.empty-state h4{font-size:14px;margin-bottom:4px;color:var(--color-text)}.empty-state p{font-size:12.5px;margin-bottom:var(--space-4)}.brand{display:flex;align-items:center;gap:var(--space-3)}.brand-mark{width:32px;height:32px;border-radius:var(--radius-sm);background:var(--color-primary-soft);color:var(--color-primary);display:flex;align-items:center;justify-content:center;flex-shrink:0}.brand-name{font-weight:700;font-size:15px}.avatar{border-radius:var(--radius-full);background:var(--color-primary-soft);color:var(--color-primary);display:flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0}.avatar-sm{width:28px;height:28px;font-size:12px}.avatar-md{width:38px;height:38px;font-size:14px}.avatar-lg{width:56px;height:56px;font-size:20px}.panel{padding:var(--space-5)}.panel-title{font-size:15px;font-weight:600;margin-bottom:var(--space-4)}.stat-value{font-size:28px;font-weight:700;line-height:1;font-variant-numeric:tabular-nums}.modal-overlay{position:fixed;inset:0;background:#24252280;display:flex;align-items:center;justify-content:center;z-index:100;padding:var(--space-6);animation:overlay-in .15s ease}.modal-card{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:var(--space-6);width:100%;max-width:380px;animation:modal-in .15s ease}@keyframes overlay-in{0%{opacity:0}to{opacity:1}}@keyframes modal-in{0%{opacity:0;transform:translateY(4px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media(prefers-reduced-motion:reduce){.modal-overlay,.modal-card{animation:none}}.modal-card h3{font-size:16px;margin-bottom:8px}.modal-card p{font-size:13px;color:var(--color-text-muted);margin-bottom:var(--space-6)}.modal-actions{display:flex;gap:var(--space-3);justify-content:flex-start}.error-state{text-align:center;padding:var(--space-10) var(--space-6);color:var(--color-danger)}.error-state p{color:var(--color-text-muted);font-size:13px;margin-top:4px}.month-switcher{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-2);direction:ltr}.month-nav-btn{width:32px;height:32px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font-size:16px;line-height:1;cursor:pointer;transition:background .15s ease,border-color .15s ease}.month-nav-btn:hover:not(:disabled){background:var(--color-surface-sunken)}.month-nav-btn:disabled{opacity:.35;cursor:not-allowed}.month-switcher-center{min-width:128px;display:flex;flex-direction:column;align-items:center;gap:2px}.month-label{font-weight:700;font-size:15px;white-space:nowrap}.current-month-link{border:none;background:none;padding:0;font-size:11px;font-weight:600;color:var(--color-primary);cursor:pointer;direction:rtl}.current-month-link:hover{text-decoration:underline}.spinner{width:22px;height:22px;border:2.5px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;margin:0 auto;animation:spin .8s linear infinite}@media(prefers-reduced-motion:reduce){.spinner{animation:none}}@keyframes spin{to{transform:rotate(360deg)}}.skeleton{background:linear-gradient(90deg,var(--color-surface-sunken) 25%,var(--color-border) 37%,var(--color-surface-sunken) 63%);background-size:400% 100%;animation:shimmer 1.4s ease infinite;border-radius:6px}@media(prefers-reduced-motion:reduce){.skeleton{animation:none}}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.toast-stack{position:fixed;bottom:var(--space-6);left:var(--space-6);z-index:200;display:flex;flex-direction:column;gap:var(--space-2)}.toast{display:flex;align-items:center;gap:var(--space-3);padding:12px 16px;border-radius:var(--radius-md);background:var(--color-text);color:var(--color-bg);box-shadow:var(--shadow-lg);max-width:340px;font-size:13.5px;font-weight:600;animation:toast-in .2s ease}.toast .icon{width:18px;height:18px;flex-shrink:0}.toast-success .icon{color:var(--color-success)}.toast-error .icon{color:#e37b6a}@keyframes toast-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.toast{animation:none}}
