:root{--primary: #6366f1;--primary-hover: #5458e0;--primary-light: #818cf8;--primary-dark: #4f46e5;--primary-solid: #6164ec;--primary-contrast: #ffffff;--primary-50: color-mix(in srgb, var(--primary) 8%, transparent);--primary-100: color-mix(in srgb, var(--primary) 14%, transparent);--primary-200: color-mix(in srgb, var(--primary) 24%, transparent);--primary-text: var(--primary-light);--primary-soft: color-mix(in srgb, var(--primary) 14%, transparent);--primary-glow: color-mix(in srgb, var(--primary) 22%, transparent);--accent: #06b6d4;--accent-light: #22d3ee;--accent-dark: #0891b2;--success: #10b981;--success-light: #34d399;--warning: #f59e0b;--warning-light: #fbbf24;--danger: #ef4444;--danger-light: #f87171;--success-soft: color-mix(in srgb, var(--success) 14%, transparent);--warning-soft: color-mix(in srgb, var(--warning) 16%, transparent);--danger-soft: color-mix(in srgb, var(--danger) 14%, transparent);--accent-soft: color-mix(in srgb, var(--accent) 14%, transparent);--success-text: var(--success-light);--accent-text: var(--accent-light);--warning-text: var(--warning-light);--danger-text: var(--danger-light);--gray-50: #f8fafc;--gray-100: #f1f5f9;--gray-200: #e2e8f0;--gray-300: #cbd5e1;--gray-400: #94a3b8;--gray-500: #64748b;--gray-600: #475569;--gray-700: #334155;--gray-800: #1e293b;--gray-900: #0f172a;--bg-primary: #0b0e14;--bg-secondary: #121620;--bg-tertiary: #1a1f2b;--bg-card: #121620;--bg-glass: rgba(255, 255, 255, .04);--bg-hover: rgba(255, 255, 255, .05);--bg-overlay: rgba(3, 6, 12, .6);--text-primary: #e7e9ee;--text-secondary: #a3aab8;--text-muted: #8a93a5;--border: rgba(255, 255, 255, .09);--border-light: rgba(255, 255, 255, .05);--border-strong: rgba(255, 255, 255, .16);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 2px 8px rgba(0, 0, 0, .35);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .45);--shadow-xl: 0 16px 40px rgba(0, 0, 0, .5);--shadow-glow: 0 0 0 1px var(--primary-glow);--focus-ring: 0 0 0 2px var(--bg-primary), 0 0 0 4px color-mix(in srgb, var(--primary) 70%, transparent);--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--font-sans: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-arabic: "Cairo", "Inter", system-ui, -apple-system, "Segoe UI", Tahoma, sans-serif;--text-xs: .75rem;--text-sm: .8125rem;--text-base: .875rem;--text-md: 1rem;--text-lg: 1.125rem;--text-xl: 1.375rem;--text-2xl: 1.75rem;--control-h: 40px;--touch-target: 44px;--topbar-h: 64px;--sidebar-w: 248px;--sidebar-rail-w: 72px;--transition-fast: .12s cubic-bezier(.4, 0, .2, 1);--transition-normal: .2s cubic-bezier(.4, 0, .2, 1);--transition-slow: .3s cubic-bezier(.4, 0, .2, 1);--z-sidebar: 100;--z-topbar: 50;--z-backdrop: 90;--z-dialog: 1000;--z-toast: 10000;color-scheme:dark}[data-theme=light]{--primary-text: var(--primary-dark);--success-text: #047857;--warning-text: #92400e;--accent-text: #155e75;--danger-text: #b91c1c;--bg-primary: #f6f7f9;--bg-secondary: #ffffff;--bg-tertiary: #f1f3f6;--bg-card: #ffffff;--bg-glass: rgba(15, 23, 42, .03);--bg-hover: rgba(15, 23, 42, .04);--bg-overlay: rgba(15, 23, 42, .4);--text-primary: #0f172a;--text-secondary: #475569;--text-muted: #5f6b7e;--border: #e3e6eb;--border-light: #eef0f3;--border-strong: #cfd4dc;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .05);--shadow-md: 0 1px 3px rgba(15, 23, 42, .06), 0 4px 12px rgba(15, 23, 42, .04);--shadow-lg: 0 4px 16px rgba(15, 23, 42, .08);--shadow-xl: 0 12px 32px rgba(15, 23, 42, .12);color-scheme:light}@media(pointer:coarse){:root{--control-h: var(--touch-target)}}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--font-sans);font-size:var(--text-base);background:var(--bg-primary);color:var(--text-primary);line-height:1.55;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;font-feature-settings:"cv11","ss01"}body[dir=rtl]{font-family:var(--font-arabic)}h1,h2,h3,h4{color:var(--text-primary);line-height:1.25;letter-spacing:-.01em}h3{font-size:var(--text-md);font-weight:600}svg{flex-shrink:0}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--primary-text)}:focus{outline:none}:focus-visible{outline:none;box-shadow:var(--focus-ring)}::selection{background:var(--primary-200)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--radius-full);border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background-color:var(--text-muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--control-h);padding:0 var(--space-4);font-size:var(--text-base);font-weight:500;line-height:1;border-radius:var(--radius-md);border:1px solid transparent;cursor:pointer;transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast);text-decoration:none;white-space:nowrap;font-family:inherit;-webkit-user-select:none;user-select:none}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--primary-solid);color:var(--primary-contrast)}.btn-primary:hover{background:var(--primary-hover)}.btn-secondary{background:var(--bg-secondary);color:var(--text-primary);border-color:var(--border);box-shadow:var(--shadow-sm)}.btn-secondary:hover{background:var(--bg-tertiary);border-color:var(--border-strong)}.btn-accent{background:var(--accent-dark);color:#fff}.btn-accent:hover{background:var(--accent)}.btn-success{background:#047857;color:#fff}.btn-success:hover{background:#065f46}.btn-warning{background:var(--warning);color:#1f1300}.btn-warning:hover{background:var(--warning-light)}.btn-danger{background:#dc2626;color:#fff}.btn-danger:hover{background:#b91c1c}.btn-ghost{background:transparent;color:var(--text-secondary);border-color:var(--border)}.btn-ghost:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-strong)}.btn-sm{min-height:32px;padding:0 var(--space-3);font-size:var(--text-sm)}.btn-lg{min-height:48px;padding:0 var(--space-6);font-size:var(--text-md)}.btn-icon{padding:0;width:var(--control-h);aspect-ratio:1}@media(pointer:coarse){.btn-sm{min-height:var(--touch-target);min-width:var(--touch-target)}}.btn:disabled,.btn[disabled]{opacity:.5;cursor:not-allowed;pointer-events:none}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.card-header{padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--border-light);display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.card-header h3{display:flex;align-items:center;gap:var(--space-2)}.card-body{padding:var(--space-6)}.card-footer{padding:var(--space-4) var(--space-6);border-top:1px solid var(--border-light)}.form-group{margin-bottom:var(--space-5)}.form-label{display:block;font-size:var(--text-sm);font-weight:500;color:var(--text-secondary);margin-bottom:var(--space-2)}.form-input{width:100%;min-height:var(--control-h);padding:var(--space-2) var(--space-3);font-size:var(--text-base);color:var(--text-primary);background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);font-family:inherit}.form-input:hover{border-color:var(--border-strong)}.form-input:focus,.form-input:focus-visible{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.form-input::placeholder{color:var(--text-muted)}.form-input:disabled{opacity:.6;cursor:not-allowed}select.form-input{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-inline-end:36px;cursor:pointer}[dir=rtl] select.form-input{background-position:left 10px center}textarea.form-input{resize:vertical;min-height:72px}.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:2px var(--space-2);font-size:var(--text-xs);font-weight:600;line-height:1.5;border-radius:var(--radius-full);white-space:nowrap}.badge-success{background:var(--success-soft);color:var(--success-text)}.badge-warning{background:var(--warning-soft);color:var(--warning-text)}.badge-danger{background:var(--danger-soft);color:var(--danger-text)}.badge-info{background:var(--accent-soft);color:var(--accent-text)}.badge-primary{background:var(--primary-soft);color:var(--primary-text)}.table-container{overflow-x:auto;border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--bg-card)}table{width:100%;border-collapse:collapse}th{padding:var(--space-3) var(--space-4);text-align:start;font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);background:var(--bg-tertiary);border-bottom:1px solid var(--border);white-space:nowrap}td{padding:var(--space-3) var(--space-4);font-size:var(--text-base);color:var(--text-secondary);border-bottom:1px solid var(--border-light);text-align:start}tbody tr:last-child td{border-bottom:none}tr:hover td{background:var(--bg-hover)}.stat-card{padding:var(--space-5);background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.stat-card .stat-icon{width:40px;height:40px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:1.15rem;margin-bottom:var(--space-4)}.stat-card .stat-value{font-size:var(--text-2xl);font-weight:600;color:var(--text-primary);line-height:1.1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.stat-card .stat-label{font-size:var(--text-sm);color:var(--text-muted);margin-top:var(--space-1)}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-6);flex-wrap:wrap;gap:var(--space-4)}.page-header h1{font-size:var(--text-xl);font-weight:600;color:var(--text-primary);letter-spacing:-.02em}.loading-spinner{width:28px;height:28px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}.toast-container{position:fixed;top:var(--space-5);inset-inline-end:var(--space-5);z-index:var(--z-toast);display:flex;flex-direction:column;gap:var(--space-2)}.toast{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);color:#fff;font-weight:500;font-size:var(--text-base);box-shadow:var(--shadow-lg);animation:toastIn .2s ease-out;max-width:400px}.toast-success{background:#047857}.toast-error{background:#dc2626}.toast-info{background:var(--primary-solid);color:var(--primary-contrast)}.online-indicator{width:8px;height:8px;border-radius:50%;display:inline-block;flex-shrink:0}.online-indicator.online{background:var(--success);box-shadow:0 0 0 3px var(--success-soft)}.online-indicator.offline{background:var(--danger);box-shadow:0 0 0 3px var(--danger-soft);animation:pulse 2s infinite}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:translate(0)}}@keyframes toastIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes spin{to{transform:rotate(360deg)}}.animate-fade-in{animation:fadeIn .2s ease-out both}.animate-slide-in{animation:slideInLeft .2s ease-out both}[dir=rtl] .icon-flip-rtl svg{transform:scaleX(-1)}[dir=rtl] .form-input[dir=ltr]{text-align:right}td [dir=ltr]{white-space:nowrap}.grid{display:grid;gap:var(--space-6)}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:1200px){.grid-4{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:900px){.grid-3,.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}.text-center{text-align:center}.text-right{text-align:end}.flex{display:flex}.flex-center{display:flex;align-items:center;justify-content:center}.flex-between{display:flex;align-items:center;justify-content:space-between}.gap-sm{gap:var(--space-2)}.gap-md{gap:var(--space-4)}.gap-lg{gap:var(--space-6)}.mt-sm{margin-top:var(--space-2)}.mt-md{margin-top:var(--space-4)}.mt-lg{margin-top:var(--space-6)}.mb-sm{margin-bottom:var(--space-2)}.mb-md{margin-bottom:var(--space-4)}.w-full{width:100%}.tabular{font-variant-numeric:tabular-nums}@media print{body *{visibility:hidden!important}@page{margin:0;size:80mm auto}body,html{margin:0!important;padding:0!important;width:80mm!important;background:#fff!important;overflow:visible!important}#receipt-printout,#receipt-printout *{visibility:visible!important}#receipt-printout{display:block!important;position:absolute!important;left:0!important;top:0!important;width:80mm!important;padding:5mm!important;font-family:Inter,Cairo,monospace!important;color:#000!important;font-size:12px!important;background:#fff!important}.receipt-header{text-align:center!important;border-bottom:1px dashed #000!important;padding-bottom:4mm!important;margin-bottom:4mm!important}.receipt-logo{text-align:center!important;margin-bottom:2mm!important}.receipt-logo img{width:20mm!important;height:20mm!important;object-fit:contain!important}.tenant-name{font-size:16px!important;font-weight:700!important;margin:2mm 0!important;color:#000!important}.tenant-address{font-size:11px!important;color:#333!important;margin:0!important}.receipt-meta{margin-bottom:4mm!important;border-bottom:1px dashed #000!important;padding-bottom:4mm!important;font-size:11px!important}.receipt-meta div{margin-bottom:1mm!important}.receipt-items{width:100%!important;margin-bottom:4mm!important;border-collapse:collapse!important}.receipt-items th{text-align:left!important;border-bottom:1px solid #000!important;padding:1mm 0 2mm!important;font-size:11px!important;font-weight:700!important;color:#000!important}html[dir=rtl] .receipt-items th{text-align:right!important}.receipt-items td{padding:1.5mm 0!important;font-size:11px!important;color:#000!important}.receipt-totals{border-top:1px dashed #000!important;padding-top:4mm!important;margin-bottom:4mm!important}.receipt-totals .total-line{display:flex!important;justify-content:space-between!important;margin-bottom:1.5mm!important;font-size:11px!important;color:#000!important}.receipt-totals .total-line.grand-total{font-weight:700!important;font-size:14px!important;margin-top:2mm!important;border-top:1px solid #000!important;padding-top:2mm!important}.receipt-qr{text-align:center!important;margin:4mm 0!important}.receipt-qr img{width:35mm!important;height:35mm!important}.receipt-footer{text-align:center!important;font-style:italic!important;font-size:10px!important;color:#333!important;border-top:1px dashed #000!important;padding-top:3mm!important}}
