@import"https://fonts.googleapis.com/css2?family=Cairo:wght@300;400;500;600;700;800&family=Inter:wght@400;500;600;700&display=swap";@property --bg{syntax: "<color>"; inherits: true; initial-value: #F8FAFC;}@property --surface{syntax: "<color>"; inherits: true; initial-value: #FFFFFF;}@property --surface-raised{syntax: "<color>"; inherits: true; initial-value: #FFFFFF;}@property --surface-inset{syntax: "<color>"; inherits: true; initial-value: #F1F5F9;}@property --border{syntax: "<color>"; inherits: true; initial-value: #E2E8F0;}@property --border-strong{syntax: "<color>"; inherits: true; initial-value: #CBD5E1;}@property --focus-ring{syntax: "<color>"; inherits: true; initial-value: rgba(37,99,235,.18);}@property --text-primary{syntax: "<color>"; inherits: true; initial-value: #0F172A;}@property --text-secondary{syntax: "<color>"; inherits: true; initial-value: #64748B;}@property --text-muted{syntax: "<color>"; inherits: true; initial-value: #94A3B8;}@property --text-brand{syntax: "<color>"; inherits: true; initial-value: #2563EB;}@property --on-surface{syntax: "<color>"; inherits: true; initial-value: #0F172A;}@property --surface-variant{syntax: "<color>"; inherits: true; initial-value: #F1F5F9;}@property --on-surface-variant{syntax: "<color>"; inherits: true; initial-value: #64748B;}@property --outline{syntax: "<color>"; inherits: true; initial-value: #CBD5E1;}@property --sidebar-bg{syntax: "<color>"; inherits: true; initial-value: #0F172A;}@property --sidebar-hover-bg{syntax: "<color>"; inherits: true; initial-value: rgba(255,255,255,.06);}:root{--brand-50: #EFF6FF;--brand-100: #DBEAFE;--brand-200: #BFDBFE;--brand-300: #93C5FD;--brand-400: #60A5FA;--brand-500: #3B82F6;--brand-600: #2563EB;--brand-700: #1D4ED8;--brand-800: #1E40AF;--brand-900: #1E3A8A;--n-0: #FFFFFF;--n-50: #F8FAFC;--n-100: #F1F5F9;--n-150: #E9EEF4;--n-200: #E2E8F0;--n-300: #CBD5E1;--n-400: #94A3B8;--n-500: #64748B;--n-600: #475569;--n-700: #334155;--n-800: #1E293B;--n-850: #172033;--n-900: #0F172A;--n-950: #080D18;--success-light: #DCFCE7;--success: #16A34A;--success-dark: #15803D;--warning-light: #FEF9C3;--warning: #CA8A04;--warning-dark: #A16207;--danger-light: #FEE2E2;--danger: #DC2626;--danger-dark: #B91C1C;--info-light: #CFFAFE;--info: #0891B2;--info-dark: #0E7490;--bg: var(--n-50);--surface: var(--n-0);--surface-raised: var(--n-0);--surface-inset: var(--n-100);--border: var(--n-200);--border-strong: var(--n-300);--focus-ring: rgba(37, 99, 235, .18);--text-primary: var(--n-900);--text-secondary: var(--n-500);--text-muted: var(--n-400);--text-inverse: var(--n-0);--text-brand: var(--brand-600);--on-surface: var(--n-900);--surface-variant: var(--n-100);--on-surface-variant: var(--n-500);--outline: var(--n-300);--sidebar-bg: #0F172A;--sidebar-surface: #1E293B;--sidebar-border: rgba(255,255,255,.06);--sidebar-text: #94A3B8;--sidebar-text-active: #FFFFFF;--sidebar-active-bg: var(--brand-600);--sidebar-hover-bg: rgba(255,255,255,.06);--sidebar-label: #475569;--sidebar-width: 300px;--sidebar-collapsed: 68px;--font-ui: "Cairo", "Segoe UI", sans-serif;--font-data: "Inter", "SF Mono", monospace;--text-2xs: .6875rem;--text-xs: .75rem;--text-sm: .875rem;--text-md: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--fw-light: 300;--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--fw-extrabold:800;--sp-0: 0;--sp-1: .25rem;--sp-2: .5rem;--sp-3: .75rem;--sp-4: 1rem;--sp-5: 1.25rem;--sp-6: 1.5rem;--sp-8: 2rem;--sp-10: 2.5rem;--sp-12: 3rem;--sp-16: 4rem;--r-xs: 3px;--r-sm: 6px;--r-md: 8px;--r-lg: 12px;--r-xl: 16px;--r-2xl: 20px;--r-full: 9999px;--shadow-xs: 0 1px 2px rgba(0,0,0,.04);--shadow-md: 0 4px 8px rgba(0,0,0,.06), 0 2px 4px rgba(0,0,0,.04);--shadow-lg: 0 10px 24px rgba(0,0,0,.08), 0 4px 8px rgba(0,0,0,.04);--shadow-xl: 0 20px 40px rgba(0,0,0,.12), 0 8px 16px rgba(0,0,0,.06);--shadow-focus: 0 0 0 3px var(--focus-ring);--t-fast: .1s ease;--t-base: .16s ease;--t-slow: .24s ease;--t-drawer: .26s cubic-bezier(.32,.72,0,1);--z-sidebar: 100;--z-header: 90;--z-dropdown: 200;--z-drawer: 300;--z-modal: 400;--z-toast: 500;--z-tooltip: 600;--color-primary-50: var(--brand-50);--color-primary-100: var(--brand-100);--color-primary-200: var(--brand-200);--color-primary-300: var(--brand-300);--color-primary-400: var(--brand-400);--color-primary-500: var(--brand-500);--color-primary-600: var(--brand-600);--color-primary-700: var(--brand-700);--color-primary-800: var(--brand-800);--color-primary-900: var(--brand-900);--color-accent-50: var(--brand-50);--color-accent-100: var(--brand-100);--color-accent-200: var(--brand-200);--color-accent-400: var(--brand-500);--color-accent-600: var(--brand-600);--color-accent-700: var(--brand-700);--color-accent-800: var(--brand-800);--color-success-50: var(--success-light);--color-success-100: var(--success-light);--color-success-400: var(--success);--color-success-500: var(--success);--color-success-600: var(--success);--color-success-700: var(--success-dark);--color-success-800: var(--success-dark);--color-warning-50: var(--warning-light);--color-warning-100: var(--warning-light);--color-warning-400: var(--warning);--color-warning-500: var(--warning);--color-warning-600: var(--warning);--color-warning-700: var(--warning-dark);--color-warning-800: var(--warning-dark);--color-danger-50: var(--danger-light);--color-danger-100: var(--danger-light);--color-danger-400: var(--danger);--color-danger-500: var(--danger);--color-danger-600: var(--danger);--color-danger-700: var(--danger-dark);--color-danger-800: var(--danger-dark);--color-info-50: var(--info-light);--color-info-100: var(--info-light);--color-info-400: var(--info);--color-info-500: var(--info);--color-info-600: var(--info);--color-info-800: var(--info-dark);--color-neutral-0: var(--n-0);--color-neutral-50: var(--n-50);--color-neutral-100: var(--n-100);--color-neutral-200: var(--n-200);--color-neutral-300: var(--n-300);--color-neutral-400: var(--n-400);--color-neutral-500: var(--n-500);--color-neutral-600: var(--n-600);--color-neutral-700: var(--n-700);--color-neutral-800: var(--n-800);--color-neutral-900: var(--n-900);--surface-page: var(--bg);--surface-card: var(--surface);--surface-sidebar: var(--sidebar-bg);--surface-input: var(--surface);--surface-elevated: var(--surface-raised);--text-tertiary: var(--text-muted);--text-disabled: var(--n-300);--text-link: var(--text-brand);--text-on-primary: var(--text-inverse);--text-on-accent: var(--text-inverse);--border-light: var(--border);--border-medium: var(--border-strong);--border-focus: var(--brand-500);--space-1: var(--sp-1);--space-2: var(--sp-2);--space-3: var(--sp-3);--space-4: var(--sp-4);--space-5: var(--sp-5);--space-6: var(--sp-6);--space-7: 1.75rem;--space-8: var(--sp-8);--space-10: var(--sp-10);--space-12: var(--sp-12);--space-16: var(--sp-16);--radius-sm: var(--r-sm);--radius-md: var(--r-md);--radius-lg: var(--r-lg);--radius-xl: var(--r-xl);--radius-full: var(--r-full);--font-family-base: var(--font-ui);--font-family-mono: var(--font-data);--font-size-xs: var(--text-xs);--font-size-sm: var(--text-sm);--font-size-base: var(--text-sm);--font-size-md: var(--text-md);--font-size-lg: var(--text-lg);--font-size-xl: var(--text-xl);--font-size-2xl: var(--text-2xl);--font-size-3xl: var(--text-3xl);--font-weight-regular: var(--fw-regular);--font-weight-medium: var(--fw-medium);--font-weight-semibold: var(--fw-semibold);--font-weight-bold: var(--fw-bold);--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-loose: 1.75;--sidebar-collapsed-w: var(--sidebar-collapsed);--header-height: 64px;--content-max-width: 1400px;--transition-fast: var(--t-fast);--transition-normal: var(--t-base);--transition-slow: var(--t-slow);--shadow-glow: var(--shadow-focus);--z-sticky: 200;--surface-header: var(--surface);--surface-overlay: rgba(0,0,0,.5);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-xl: 24px;--shadow-sm: 0 1px 3px rgba(0,0,0,.06), 0 1px 2px rgba(0,0,0,.04);--shadow-md: 0 4px 6px rgba(0,0,0,.05), 0 2px 4px rgba(0,0,0,.04);--shadow-lg: 0 10px 15px rgba(0,0,0,.07), 0 4px 6px rgba(0,0,0,.05);--shadow-xl: 0 20px 25px rgba(0,0,0,.08), 0 8px 10px rgba(0,0,0,.04);--transition-fast: .15s cubic-bezier(.4,0,.2,1);--transition-base: .25s cubic-bezier(.4,0,.2,1);--transition-slow: .4s cubic-bezier(.4,0,.2,1)}:root{transition:--bg var(--t-slow),--surface var(--t-slow),--surface-raised var(--t-slow),--surface-inset var(--t-slow),--border var(--t-slow),--border-strong var(--t-slow),--focus-ring var(--t-slow),--text-primary var(--t-slow),--text-secondary var(--t-slow),--text-muted var(--t-slow),--text-brand var(--t-slow),--on-surface var(--t-slow),--surface-variant var(--t-slow),--on-surface-variant var(--t-slow),--outline var(--t-slow),--sidebar-bg var(--t-slow),--sidebar-hover-bg var(--t-slow),color var(--t-fast)}html[data-theme=light],html[data-theme=light] body{--bg: var(--n-50);--surface: var(--n-0);--surface-raised: var(--n-0);--surface-inset: var(--n-100);--border: var(--n-200);--border-strong: var(--n-300);--focus-ring: rgba(37, 99, 235, .18);--text-primary: var(--n-900);--text-secondary: var(--n-500);--text-muted: var(--n-400);--text-brand: var(--brand-600);--on-surface: var(--n-900);--surface-variant: var(--n-100);--on-surface-variant: var(--n-500);--outline: var(--n-300);--shadow-sm: 0 1px 2px rgba(0,0,0,.04);--shadow-md: 0 4px 8px rgba(0,0,0,.06), 0 2px 4px rgba(0,0,0,.04);--shadow-lg: 0 10px 24px rgba(0,0,0,.08), 0 4px 8px rgba(0,0,0,.04);--shadow-xl: 0 20px 40px rgba(0,0,0,.12), 0 8px 16px rgba(0,0,0,.06)}html[data-theme=dark],html[data-theme=dark] body{--bg: #0B1120;--surface: #111827;--surface-raised: #1F2937;--surface-inset: #0B1120;--border: rgba(255,255,255,.08);--border-strong: rgba(255,255,255,.14);--focus-ring: rgba(96,165,250,.25);--text-primary: #F1F5F9;--text-secondary: #94A3B8;--text-muted: #64748B;--text-brand: var(--brand-400);--on-surface: #F1F5F9;--surface-variant: #1F2937;--on-surface-variant: #94A3B8;--outline: rgba(255,255,255,.14);--shadow-sm: 0 1px 3px rgba(0,0,0,.3);--shadow-md: 0 4px 8px rgba(0,0,0,.3);--shadow-lg: 0 10px 24px rgba(0,0,0,.4);--shadow-xl: 0 20px 40px rgba(0,0,0,.5)}@media(prefers-color-scheme:dark){html:not([data-theme]) :root{--bg: #0B1120;--surface: #111827;--surface-raised: #1F2937;--surface-inset: #0B1120;--border: rgba(255,255,255,.08);--border-strong: rgba(255,255,255,.14);--focus-ring: rgba(96,165,250,.25);--text-primary: #F1F5F9;--text-secondary: #94A3B8;--text-muted: #64748B;--text-brand: var(--brand-400);--on-surface: #F1F5F9;--surface-variant: #1F2937;--on-surface-variant: #94A3B8;--outline: rgba(255,255,255,.14);--shadow-sm: 0 1px 3px rgba(0,0,0,.3);--shadow-md: 0 4px 8px rgba(0,0,0,.3);--shadow-lg: 0 10px 24px rgba(0,0,0,.4);--shadow-xl: 0 20px 40px rgba(0,0,0,.5)}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{font-family:var(--font-ui);font-size:var(--text-sm);font-weight:var(--fw-regular);line-height:1.6;color:var(--text-primary);background:var(--bg);min-height:100vh;direction:rtl;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img,svg{display:block;max-width:100%}a{color:var(--text-brand);text-decoration:none}a:hover{text-decoration:underline}button{font-family:var(--font-ui);cursor:pointer}input,select,textarea{font-family:var(--font-ui)}ul,ol{list-style:none}hr{border:none;border-top:1px solid var(--border)}*{transition:background var(--t-slow),border-color var(--t-slow),color var(--t-fast),box-shadow var(--t-slow),fill var(--t-slow),stroke var(--t-slow)}html.is-theme-transitioning *{transition:background .3s ease,color .3s ease,border-color .3s ease,box-shadow .3s ease,fill .3s ease,stroke .3s ease!important}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--n-300);border-radius:var(--r-full)}::-webkit-scrollbar-thumb:hover{background:var(--n-400)}:focus-visible{outline:2px solid var(--brand-400);outline-offset:2px;box-shadow:var(--shadow-focus)}.skip-link{position:absolute;top:-100%;left:1rem;z-index:var(--z-toast, 5000);padding:.5rem 1rem;background:var(--brand-600);color:#fff;border-radius:var(--r-sm);font-weight:var(--fw-semibold);text-decoration:none;transition:top .15s ease}.skip-link:focus{top:.5rem}.skip-link:not(:focus){position:absolute;top:-100%}@media(prefers-contrast:more){:root{--border: var(--n-400);--border-strong: var(--n-500);--outline: var(--n-500);--focus-ring: rgba(37, 99, 235, .4)}[data-theme=dark]{--border: var(--n-400);--border-strong: var(--n-300);--outline: var(--n-300);--focus-ring: rgba(96, 165, 250, .5)}:focus-visible{outline:3px solid var(--brand-400);outline-offset:3px}}::-moz-selection{background:var(--brand-100);color:var(--brand-900)}::selection{background:var(--brand-100);color:var(--brand-900)}.sidebar{will-change:width}.modal,.modal-content,.modal-dialog{will-change:transform,opacity}.drawer,.drawer-content,.drawer-panel{will-change:transform}.stat-card{will-change:transform,box-shadow}.table-container{content-visibility:auto;contain-intrinsic-size:400px}html,body{overflow:hidden}.app-shell{display:flex;height:100vh;overflow:hidden}.sidebar{position:fixed;top:0;right:0;width:var(--sidebar-width);height:100vh;background:var(--sidebar-bg);border-left:1px solid var(--sidebar-border);border-inline-end:1px solid var(--border);display:flex;flex-direction:column;z-index:var(--z-sidebar);overflow:hidden;transition:width var(--t-drawer);-webkit-user-select:none;-moz-user-select:none;user-select:none}.sidebar.collapsed{width:var(--sidebar-collapsed)}.sidebar-logo{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-5) var(--sp-4);border-bottom:1px solid var(--sidebar-border);min-height:64px;flex-shrink:0}.sidebar-logo-icon{width:36px;height:36px;background:var(--brand-600);border-radius:var(--r-lg);display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;box-shadow:0 0 0 4px #2563eb2e}.sidebar-logo-text{font-size:var(--text-lg);font-weight:var(--fw-bold);color:var(--sidebar-text-active);letter-spacing:-.02em;white-space:nowrap;overflow:hidden}.sidebar-logo-sub{font-size:var(--text-2xs);color:var(--sidebar-label);margin-top:1px}.sidebar__logo-icon{width:36px;height:36px;background:var(--brand-600);border-radius:var(--r-lg);display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;box-shadow:0 0 0 4px #2563eb2e}.sidebar__logo-text{font-size:var(--text-lg);font-weight:var(--fw-bold);color:var(--sidebar-text-active);letter-spacing:-.02em;white-space:nowrap;overflow:hidden}.sidebar-nav{flex:1;overflow-y:auto;overflow-x:hidden;padding:var(--sp-3) 0}.sidebar-section-label{padding:var(--sp-4) var(--sp-4) var(--sp-2);font-size:var(--text-2xs);font-weight:var(--fw-semibold);color:var(--sidebar-label);text-transform:uppercase;letter-spacing:.1em;white-space:nowrap;overflow:hidden}.sidebar.collapsed .sidebar-section-label{opacity:0;pointer-events:none}.collapsed .sidebar-logo-text,.collapsed .sidebar-logo-sub,.collapsed .sidebar-user-name,.collapsed .sidebar-user-role{opacity:0}.collapsed .sidebar-logo{justify-content:center;padding:var(--sp-5) var(--sp-2)}.collapsed .sidebar-user{justify-content:center;padding:var(--sp-3) var(--sp-2);gap:var(--sp-1)}.collapsed .sidebar-user-avatar{margin:0}.nav-item{display:flex;align-items:center;gap:var(--sp-3);margin:1px var(--sp-2);padding:var(--sp-2) var(--sp-3);border-radius:var(--r-md);color:var(--sidebar-text);font-size:var(--text-sm);font-weight:var(--fw-medium);cursor:pointer;transition:background var(--transition-fast),transform var(--transition-fast);white-space:nowrap;overflow:hidden;position:relative;text-decoration:none}.nav-item:hover{background:var(--sidebar-hover-bg);color:var(--sidebar-text-active)}[dir=rtl] .nav-item:hover{transform:translate(-2px)}.collapsed .nav-item{justify-content:center;padding:var(--sp-2)}.nav-item>span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis}.collapsed .nav-item>span:last-child{display:none}.nav-item.active{background:linear-gradient(135deg,var(--brand-600),var(--brand-700));color:var(--sidebar-text-active);box-shadow:0 2px 8px #2563eb59;border-inline-end:3px solid var(--brand-600)}.sidebar__item{display:flex;align-items:center;gap:var(--sp-3);margin:1px var(--sp-2);padding:var(--sp-2) var(--sp-3);border-radius:var(--r-md);color:var(--sidebar-text);font-size:var(--text-sm);font-weight:var(--fw-medium);cursor:pointer;transition:all var(--t-base);white-space:nowrap;overflow:hidden;position:relative;text-decoration:none;border:none;background:none;width:100%;text-align:start}.sidebar__item:hover{background:var(--sidebar-hover-bg);color:var(--sidebar-text-active)}.collapsed .sidebar__item{justify-content:center;padding:var(--sp-2)}.collapsed .sidebar-user .sidebar__item{flex:none;width:auto;margin:0;padding:var(--sp-1)}.sidebar__item>span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis}.collapsed .sidebar__item>span:last-child{display:none}.collapsed .nav-badge,.collapsed .sidebar__badge{display:none}.sidebar__item.active{background:linear-gradient(135deg,var(--brand-600),var(--brand-700));color:var(--sidebar-text-active);box-shadow:0 2px 8px #2563eb59;border-inline-end:3px solid var(--brand-600)}.nav-icon,.sidebar__item-icon{width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}.nav-badge,.sidebar__badge{margin-right:auto;min-width:18px;height:18px;background:var(--danger);color:#fff;font-size:var(--text-2xs);font-weight:var(--fw-bold);border-radius:var(--r-full);display:flex;align-items:center;justify-content:center;padding:0 5px}.nav-item--locked{opacity:.6;cursor:not-allowed}.nav-item--locked:hover{background:transparent}.nav-lock-icon{font-size:.75rem;margin-inline-start:auto;opacity:.7}.sidebar-collapse-btn{display:flex;align-items:center;justify-content:center;margin:var(--sp-2);padding:var(--sp-2);border-radius:var(--r-md);background:none;border:1px solid var(--sidebar-border);color:var(--sidebar-text);cursor:pointer;transition:all var(--t-base);font-size:16px}.sidebar-collapse-btn:hover{background:var(--sidebar-hover-bg);color:#fff}.sidebar-user{padding:var(--sp-3) var(--sp-4);border-top:1px solid var(--sidebar-border);display:flex;align-items:center;gap:var(--sp-3);flex-shrink:0;overflow:hidden}.sidebar-user-avatar{width:32px;height:32px;border-radius:var(--r-full);background:var(--brand-700);color:#fff;font-size:var(--text-xs);font-weight:var(--fw-bold);display:flex;align-items:center;justify-content:center;flex-shrink:0}.sidebar-user-name{font-size:var(--text-xs);font-weight:var(--fw-semibold);color:var(--sidebar-text-active)}.sidebar-user-role{font-size:var(--text-2xs);color:var(--sidebar-label)}.header{position:fixed;top:0;left:0;right:var(--sidebar-width);height:64px;background:var(--surface);background:color-mix(in srgb,var(--surface) 85%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--border);display:flex;align-items:center;gap:var(--sp-4);padding:0 var(--sp-6);z-index:var(--z-header);box-shadow:var(--shadow-sm);transition:right var(--t-drawer),background var(--t-slow),border-color var(--t-slow)}.sidebar.collapsed~.main-wrapper .header{right:var(--sidebar-collapsed)}.header-title-area{flex:1;min-width:0}.header-page-title{font-size:var(--text-lg);font-weight:var(--fw-bold);color:var(--text-primary);line-height:1.2}.header-breadcrumb{display:flex;align-items:center;gap:var(--sp-1);font-size:var(--text-xs);color:var(--text-muted);margin-top:1px}.breadcrumb-sep{font-size:10px;opacity:.5}.breadcrumb-link{color:var(--text-brand);cursor:pointer}.breadcrumb-link:hover{text-decoration:underline}.header-actions,.header__actions{display:flex;align-items:center;gap:var(--sp-2);flex-shrink:0}.header-search{position:relative}.header-search input{width:220px;height:36px;padding:0 var(--sp-3) 0 var(--sp-9);background:var(--surface-inset);border:1px solid var(--border);border-radius:var(--r-full);font-size:var(--text-sm);color:var(--text-primary);transition:all var(--t-base)}.header-search input:focus{outline:none;width:280px;background:var(--surface);border-color:var(--brand-400);box-shadow:var(--shadow-focus)}.header-search-icon{position:absolute;left:var(--sp-3);top:50%;transform:translateY(-50%);color:var(--text-muted);font-size:14px;pointer-events:none}.header__search{position:relative}.header__search-input{width:220px;height:36px;padding:0 var(--sp-3) 0 var(--sp-9);background:var(--surface-inset);border:1px solid var(--border);border-radius:var(--r-full);font-size:var(--text-sm);color:var(--text-primary);transition:all var(--t-base)}.header__search-input:focus{outline:none;width:280px;background:var(--surface);border-color:var(--brand-400);box-shadow:var(--shadow-focus)}.header__search-icon{position:absolute;left:var(--sp-3);top:50%;transform:translateY(-50%);color:var(--text-muted);font-size:14px;pointer-events:none}.icon-btn{width:36px;height:36px;border-radius:var(--r-md);border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--t-base);font-size:16px;position:relative;flex-shrink:0}.icon-btn:hover{background:var(--surface-inset);color:var(--text-primary)}.icon-btn .notif-badge{position:absolute;top:-4px;left:-4px;min-width:16px;height:16px;background:var(--danger);color:#fff;font-size:10px;font-weight:var(--fw-bold);border-radius:var(--r-full);display:flex;align-items:center;justify-content:center;padding:0 4px;border:2px solid var(--surface)}.header-avatar{width:36px;height:36px;border-radius:var(--r-full);background:linear-gradient(135deg,var(--brand-500),var(--brand-700));color:#fff;font-size:var(--text-xs);font-weight:var(--fw-bold);display:flex;align-items:center;justify-content:center;cursor:pointer;border:2px solid var(--border);transition:border-color var(--t-base);flex-shrink:0}.header-avatar:hover{border-color:var(--brand-400)}.main-wrapper{flex:1;min-width:0;display:flex;flex-direction:column;margin-right:var(--sidebar-width);padding-top:64px;transition:margin-right var(--t-drawer)}.sidebar.collapsed~.main-wrapper{margin-right:var(--sidebar-collapsed)}.layout-app--landing .sidebar,.layout-app--landing .header{display:none!important}.layout-app--landing .main-wrapper{margin-right:0!important;padding-top:0!important}.layout-app--landing .main-content{height:100vh!important;padding:0!important;max-width:none!important}.main-content{padding:var(--sp-3) var(--sp-5) var(--sp-6);max-width:1400px;overflow-y:auto;height:calc(100vh - 64px);-webkit-overflow-scrolling:touch;overflow-anchor:none}.page-container,.view-container{min-height:100%;padding-bottom:2rem;animation:fadeIn var(--transition-base) both}#main{min-height:100%;animation:fadeIn var(--transition-base) both}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-3);margin-bottom:var(--sp-3);flex-wrap:wrap}.page-title{font-size:var(--text-2xl);font-weight:var(--fw-bold);color:var(--text-primary);letter-spacing:-.02em;line-height:1.2}.page-subtitle{font-size:var(--text-sm);color:var(--text-secondary);margin-top:var(--sp-1)}.page-actions{display:flex;align-items:center;gap:var(--sp-2);flex-shrink:0}.filters-bar{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap;margin-bottom:var(--sp-2);padding:var(--sp-2) var(--sp-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg)}.filters-bar .form-control{max-width:180px}.filters-bar-divider{width:1px;height:24px;background:var(--border);flex-shrink:0}.sidebar-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:calc(var(--z-sidebar) - 1)}@media(max-width:1024px){.sidebar-overlay.open{display:block}}.mobile-menu-btn{display:none;width:36px;height:36px;align-items:center;justify-content:center;border-radius:var(--r-md);border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);cursor:pointer;font-size:18px}@media(max-width:1024px){.sidebar{right:calc(-1 * var(--sidebar-width));transition:right var(--t-drawer);box-shadow:var(--shadow-xl)}.sidebar.collapsed{width:var(--sidebar-width)}.sidebar.mobile-open{right:0}.sidebar-overlay.open{display:block}.main-wrapper{margin-right:0}.header{right:0}.mobile-menu-btn{display:flex}.header-search input{width:160px}.header-search input:focus{width:200px}}@media(max-width:640px){.main-content{padding:var(--sp-4)}.page-header{flex-direction:column;align-items:stretch}.page-actions{justify-content:flex-end}.header-search{display:none}}@media(max-width:767px){.main-content{-webkit-overflow-scrolling:touch;overflow-y:auto}.drawer,.drawer-content,.modal-body,.table-container,[class*=page-container],[class*=view-container]{-webkit-overflow-scrolling:touch}.data-table{overflow-x:auto;max-width:100%}.data-table table{min-width:600px}}.main{flex:1;padding:var(--sp-6);max-width:1400px;width:100%;overflow-anchor:none}.main>:first-child{margin-top:0}.layout-app{display:flex;min-height:100vh}.layout-app__body{flex:1;display:flex;flex-direction:column;min-width:0;margin-right:0}.app-loader{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:var(--bg);z-index:var(--z-modal)}.app-loader__spinner{width:40px;height:40px;border:3px solid var(--border);border-top-color:var(--brand-500);border-radius:50%;animation:spin .8s linear infinite}.layout-auth{min-height:100vh;height:auto;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--n-900) 0%,var(--n-800) 50%,var(--n-850) 100%);padding:var(--sp-6);position:relative;overflow-y:auto}@media(max-height:700px){.layout-auth{align-items:flex-start;padding-top:var(--sp-4);padding-bottom:var(--sp-4)}}.layout-auth:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(ellipse at 20% 50%,rgba(37,99,235,.15) 0%,transparent 60%),radial-gradient(ellipse at 80% 50%,rgba(16,185,129,.1) 0%,transparent 60%);pointer-events:none}.layout-auth .card{background:#fffffffa;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.2);box-shadow:var(--shadow-xl);position:relative;z-index:1}.pagination{display:flex;align-items:center;justify-content:space-between;padding:var(--sp-3) var(--sp-5);border-top:1px solid var(--border);gap:var(--sp-4);flex-wrap:wrap}.pagination__info{font-size:var(--text-xs);color:var(--text-secondary)}.pagination__controls{display:flex;align-items:center;gap:var(--sp-1)}.pagination__btn{width:32px;height:32px;border-radius:var(--r-md);font-size:var(--text-sm);font-weight:var(--fw-medium);color:var(--text-secondary);transition:all var(--t-base);display:flex;align-items:center;justify-content:center;border:1px solid transparent}.pagination__btn:hover{background:var(--surface-inset);border-color:var(--border)}.pagination__btn.active{background:var(--brand-600);color:#fff;border-color:var(--brand-600)}.pagination__btn:disabled{opacity:.35;cursor:not-allowed}.page-header__title{font-size:var(--text-xl);font-weight:var(--fw-semibold);color:var(--text-primary);letter-spacing:-.02em}.page-header__subtitle{font-size:var(--text-sm);color:var(--text-secondary);margin-top:var(--sp-1)}.page-header__actions{display:flex;align-items:center;gap:var(--sp-2)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);padding:0 var(--sp-4);height:38px;font-family:var(--font-ui);font-size:var(--text-sm);font-weight:var(--fw-medium);line-height:1;border-radius:var(--radius-md);border:1.5px solid transparent;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;text-decoration:none;flex-shrink:0;position:relative;overflow:hidden}.btn:disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.btn:active{transform:translateY(0)}.btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-xs{height:28px;padding:0 var(--sp-3);font-size:var(--text-xs);border-radius:var(--r-sm)}.btn-sm{height:32px;padding:0 var(--sp-3);font-size:var(--text-xs)}.btn-lg{height:46px;padding:0 var(--sp-6);font-size:var(--text-md);border-radius:var(--r-lg)}.btn-xl{height:54px;padding:0 var(--sp-8);font-size:var(--text-lg);border-radius:var(--r-xl)}.btn-icon{width:38px;padding:0}.btn-icon.btn-sm{width:32px}.btn--sm{height:32px;padding:0 var(--sp-3);font-size:var(--text-xs)}.btn--lg{height:46px;padding:0 var(--sp-6);font-size:var(--text-md);border-radius:var(--r-lg)}.btn--icon{width:38px;padding:0}.btn--full{width:100%}.btn-primary{background:linear-gradient(135deg,var(--brand-600),var(--brand-700));border-color:var(--brand-600);color:#fff;box-shadow:0 1px 3px #2563eb33,0 1px 2px #2563eb1f}.btn-primary:hover{background:var(--brand-700);border-color:var(--brand-700);box-shadow:0 4px 10px #2563eb4d;transform:translateY(-1px)}.btn-secondary{background:var(--surface);border-color:var(--border-strong);color:var(--text-primary);box-shadow:var(--shadow-xs)}.btn-secondary:hover{background:var(--surface-inset);border-color:var(--n-400)}.btn-danger{background:var(--danger);border-color:var(--danger);color:#fff;box-shadow:0 1px 3px #dc262633}.btn-danger:hover{background:var(--danger-dark);border-color:var(--danger-dark);transform:translateY(-1px)}.btn-success{background:var(--success);border-color:var(--success);color:#fff}.btn-success:hover{background:var(--success-dark);transform:translateY(-1px)}.btn-warning{background:#f97316;border-color:#f97316;color:#fff}.btn-warning:hover{background:#ea580c;transform:translateY(-1px)}.btn-ghost{background:transparent;border-color:transparent;color:var(--text-secondary)}.btn-ghost:hover{background:var(--surface-inset);color:var(--text-primary)}.btn-link{background:transparent;border-color:transparent;color:var(--text-brand);padding:0;height:auto;font-weight:var(--fw-medium)}.btn-link:hover{text-decoration:underline}.btn--primary{background:linear-gradient(135deg,var(--brand-600),var(--brand-700));border-color:var(--brand-600);color:#fff;box-shadow:0 1px 3px #2563eb33,0 1px 2px #2563eb1f}.btn--primary:hover{background:var(--brand-700);border-color:var(--brand-700);box-shadow:0 4px 10px #2563eb4d;transform:translateY(-1px)}.btn--secondary{background:var(--surface);border-color:var(--border-strong);color:var(--text-primary);box-shadow:var(--shadow-xs)}.btn--secondary:hover{background:var(--surface-inset);border-color:var(--n-400)}.btn--outlined{background:transparent;border-color:var(--brand-600);color:var(--brand-600)}.btn--outlined:hover{background:var(--brand-50);border-color:var(--brand-600);color:var(--brand-700)}.btn--danger{background:var(--danger);border-color:var(--danger);color:#fff;box-shadow:0 1px 3px #dc262633}.btn--danger:hover{background:var(--danger-dark);border-color:var(--danger-dark);transform:translateY(-1px)}.btn--warning{background:#f97316;border-color:#f97316;color:#fff}.btn--warning:hover{background:#ea580c;transform:translateY(-1px)}.btn--ghost{background:transparent;border-color:transparent;color:var(--text-secondary)}.btn--ghost:hover{background:var(--surface-inset);color:var(--text-primary)}.btn--ghost-danger{background:transparent;color:var(--danger);border-color:transparent}.btn--ghost-danger:hover{background:var(--danger-light)}.btn.loading:after{content:"";width:14px;height:14px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite;margin-right:var(--sp-2)}.btn--loading:after{content:"";width:14px;height:14px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.spinner{display:inline-block;width:16px;height:16px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin .6s linear infinite;vertical-align:middle}.spinner--sm{width:12px;height:12px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden;transition:box-shadow var(--transition-base)}.card:hover{box-shadow:var(--shadow-md)}.card-padded{padding:var(--sp-6)}.card-header{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);padding:var(--sp-5) var(--sp-6);border-bottom:1px solid var(--border)}.card-header-left{display:flex;flex-direction:column;gap:2px}.card-title{font-size:var(--text-md);font-weight:var(--fw-semibold);color:var(--text-primary);line-height:1.3}.card-subtitle{font-size:var(--text-xs);color:var(--text-secondary)}.card-body{padding:var(--sp-6)}.card-footer{padding:var(--sp-4) var(--sp-6);border-top:1px solid var(--border);background:var(--surface-inset);display:flex;align-items:center;justify-content:space-between}.card__header{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);padding:var(--sp-5) var(--sp-6);border-bottom:1px solid var(--border)}.card__title{font-size:var(--text-md);font-weight:var(--fw-semibold);color:var(--text-primary);line-height:1.3}.card__subtitle{font-size:var(--text-xs);color:var(--text-secondary)}.card__body{padding:var(--sp-6)}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);padding:var(--sp-5) var(--sp-6);box-shadow:var(--shadow-sm);display:flex;align-items:flex-start;gap:var(--sp-4);cursor:default;transition:transform var(--transition-base),box-shadow var(--transition-base);position:relative;overflow:hidden}.stat-card:after{content:"";position:absolute;top:0;right:0;width:4px;height:100%;border-radius:0 var(--r-xl) var(--r-xl) 0}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.stat-card.blue:after{background:var(--brand-500)}.stat-card.green:after{background:var(--success)}.stat-card.amber:after{background:var(--warning)}.stat-card.red:after{background:var(--danger)}.stat-card.cyan:after{background:var(--info)}.stat-card.blue:before{background:var(--brand-500)}.stat-card.green:before{background:var(--success)}.stat-card.amber:before{background:var(--warning)}.stat-card.red:before{background:var(--danger)}.stat-card.cyan:before{background:var(--info)}.stat-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-3px)}.stat-icon{width:48px;height:48px;border-radius:var(--r-lg);display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0}.stat-icon.blue{background:#eff6ff}.stat-icon.green{background:#f0fdf4}.stat-icon.amber{background:#fffbeb}.stat-icon.red{background:#fff1f2}.stat-icon.cyan{background:#ecfeff}.stat-value{font-size:var(--text-3xl);font-weight:var(--fw-extrabold);color:var(--text-primary);line-height:1;font-family:var(--font-data);letter-spacing:-.03em}.stat-label{font-size:var(--text-xs);font-weight:var(--fw-medium);color:var(--text-secondary);margin-top:var(--sp-1)}.stat-trend{font-size:var(--text-xs);font-weight:var(--fw-semibold);margin-top:var(--sp-2);display:flex;align-items:center;gap:2px}.stat-trend.up{color:var(--success)}.stat-trend.down{color:var(--danger)}.stat-card[data-color=blue]:before{background:var(--brand-500)}.stat-card[data-color=blue] .stat-card__icon{background:var(--brand-50);color:var(--brand-600)}.stat-card[data-color=green]:before{background:var(--success)}.stat-card[data-color=green] .stat-card__icon{background:#f0fdf4;color:var(--success)}.stat-card[data-color=amber]:before{background:var(--warning)}.stat-card[data-color=amber] .stat-card__icon{background:#fffbeb;color:var(--warning)}.stat-card[data-color=red]:before{background:var(--danger)}.stat-card[data-color=red] .stat-card__icon{background:#fff1f2;color:var(--danger)}.stat-card[data-color=purple]:before{background:#8b5cf6}.stat-card[data-color=purple] .stat-card__icon{background:#f5f3ff;color:#8b5cf6}.stat-card__icon{width:48px;height:48px;border-radius:var(--r-lg);display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}.stat-card__icon--primary{background:#eff6ff;color:var(--brand-600)}.stat-card__icon--success{background:#f0fdf4;color:var(--success)}.stat-card__icon--warning{background:#fffbeb;color:var(--warning)}.stat-card__icon--danger{background:#fff1f2;color:var(--danger)}.stat-card__body{flex:1;min-width:0}.stat-card__label{font-size:var(--text-xs);font-weight:var(--fw-medium);color:var(--text-secondary);margin-bottom:var(--sp-1)}.stat-card__value{font-size:var(--text-2xl);font-weight:var(--fw-bold);color:var(--text-primary);line-height:1.2;letter-spacing:-.02em}.stat-card__change{font-size:var(--text-xs);margin-top:var(--sp-1)}.stat-card__change--up{color:var(--success)}.stat-card__change--down{color:var(--danger)}.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:var(--r-full);font-size:var(--text-xs);font-weight:var(--fw-semibold);line-height:1;white-space:nowrap}.badge-dot{width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}.badge-success{background:var(--success-light);color:var(--success)}.badge-warning{background:var(--warning-light);color:var(--warning-dark)}.badge-danger{background:var(--danger-light);color:var(--danger)}.badge-info{background:var(--info-light);color:var(--info-dark)}.badge-neutral{background:var(--n-100);color:var(--n-600)}.badge-brand{background:var(--brand-50);color:var(--brand-700)}.badge-primary{background:var(--brand-600);color:#fff}.badge--primary{background:var(--brand-50);color:var(--brand-700)}.badge--success{background:var(--success-light);color:var(--success)}.badge--warning{background:var(--warning-light);color:var(--warning-dark)}.badge--danger{background:var(--danger-light);color:var(--danger)}.badge--neutral{background:var(--n-100);color:var(--n-600)}.badge__dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}@keyframes blink-badge-pulse{0%,to{opacity:1}50%{opacity:.5}}.blink-badge{animation:blink-badge-pulse 1.5s ease-in-out infinite}.sa-nav-tab{padding:6px 16px;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--fw-medium);color:var(--text-secondary);text-decoration:none;transition:all var(--t-fast)}.sa-nav-tab:hover{background:var(--bg-muted);color:var(--text-primary)}.sa-nav-tab.active{background:var(--color-primary-50);color:var(--color-primary-700);font-weight:var(--fw-semibold)}.form-group{margin-bottom:20px}.form-group label,.form-label{display:block;margin-bottom:6px;font-weight:500;font-size:.875rem;color:var(--text-secondary)}.form-label .required{color:var(--danger);font-weight:var(--fw-bold)}.form-control{width:100%;padding:10px 14px;font-family:var(--font-ui);font-size:1rem;color:var(--on-surface);background:var(--surface-variant);border:1.5px solid var(--outline);border-radius:var(--radius-md);min-height:42px;transition:border-color var(--t-base),box-shadow var(--t-base),background var(--t-base);-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-control:hover{border-color:var(--n-400)}.form-control:focus{outline:none;border-color:var(--brand-500);box-shadow:0 0 0 3px var(--brand-100);background:var(--surface);transition:box-shadow var(--transition-fast)}.form-control::-moz-placeholder{color:var(--on-surface-variant)}.form-control::placeholder{color:var(--on-surface-variant)}.form-control:disabled{background:var(--surface-inset);color:var(--text-muted);cursor:not-allowed}.form-control.error{border-color:var(--danger)}.form-control.error:focus{box-shadow:0 0 0 3px #dc262626}textarea.form-control{height:auto;min-height:96px;padding:10px 14px;resize:vertical;line-height:1.6}select.form-control{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2394A3B8' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:left var(--sp-3) center;padding-left:var(--sp-8);cursor:pointer}.form-hint{font-size:var(--text-xs);color:var(--text-secondary)}.form-error-msg{font-size:var(--text-xs);color:var(--danger);font-weight:var(--fw-medium);display:flex;align-items:center;gap:var(--sp-1)}.form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:640px){.form-grid-2{grid-template-columns:1fr}}.form-grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--sp-4)}.form-col-span-2{grid-column:span 2}.form-col-span-3{grid-column:span 3}.form-check{display:flex;align-items:center;gap:var(--sp-2);cursor:pointer;font-size:var(--text-sm)}.form-check input[type=checkbox],.form-check input[type=radio],.form-check__input{width:16px;height:16px;accent-color:var(--brand-600);cursor:pointer}.form-check__label{font-size:var(--text-sm);color:var(--on-surface)}.toggle-switch{position:relative;display:inline-block;width:44px;height:24px}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--n-300);border-radius:var(--r-full);transition:background var(--t-base);cursor:pointer}.toggle-slider:before{content:"";position:absolute;width:18px;height:18px;right:3px;top:3px;background:#fff;border-radius:50%;transition:transform var(--t-base);box-shadow:var(--shadow-sm)}.toggle-switch input:checked+.toggle-slider{background:var(--brand-600)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(-20px)}.input-group{display:flex}.input-group .form-control{border-radius:var(--r-md) 0 0 var(--r-md);flex:1}.input-group .input-group-addon{display:flex;align-items:center;justify-content:center;padding:0 var(--sp-3);background:var(--surface-inset);border:1.5px solid var(--border-strong);border-right:none;border-radius:0 var(--r-md) var(--r-md) 0;color:var(--text-secondary);font-size:var(--text-sm);white-space:nowrap}.form-row{display:grid;gap:var(--sp-4)}.form-row--2{grid-template-columns:repeat(2,1fr)}.form-row--3{grid-template-columns:repeat(3,1fr)}.form-error{font-size:var(--text-xs);color:var(--danger);margin-top:var(--sp-1);display:flex;align-items:center;gap:var(--sp-1)}.form-control--error{border-color:var(--danger)}.form-control--error:focus{box-shadow:0 0 0 3px #dc262626}.table-responsive{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:var(--radius-lg)}.table-container{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);overflow-x:auto;max-width:100%;box-shadow:var(--shadow-sm)}.table-toolbar{display:flex;align-items:center;justify-content:space-between;padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--border);gap:var(--sp-3);flex-wrap:wrap}.table-title{font-size:var(--text-md);font-weight:var(--fw-semibold);color:var(--text-primary)}.table-count{display:inline-flex;align-items:center;padding:2px 10px;background:var(--surface-inset);border:1px solid var(--border);border-radius:var(--r-full);font-size:var(--text-xs);color:var(--text-secondary);margin-right:var(--sp-2);font-weight:var(--fw-medium)}table.data-table{width:100%;border-collapse:collapse}table.data-table thead tr{background:var(--surface-inset);border-bottom:1px solid var(--border)}table.data-table th{padding:var(--sp-3) var(--sp-4);text-align:right;font-size:var(--text-xs);font-weight:var(--fw-semibold);color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}table.data-table td{padding:var(--sp-3) var(--sp-4);font-size:var(--text-sm);color:var(--text-primary);border-bottom:1px solid var(--border);vertical-align:middle}table.data-table tbody tr{transition:background var(--t-fast)}table.data-table tbody tr:hover{background:var(--surface-inset)}table.data-table tbody tr:last-child td{border-bottom:none}table.data-table tbody tr.selected{background:var(--brand-50)}.table-actions{display:flex;align-items:center;gap:var(--sp-1);justify-content:flex-end}.table-pagination{display:flex;align-items:center;justify-content:space-between;padding:var(--sp-3) var(--sp-5);border-top:1px solid var(--border);background:var(--surface-inset)}.pagination-info{font-size:var(--text-xs);color:var(--text-secondary)}.pagination-btns{display:flex;gap:var(--sp-1)}.skeleton-row td{padding:var(--sp-3) var(--sp-4)}.skeleton-cell{height:16px;background:linear-gradient(90deg,var(--n-100) 25%,var(--n-200) 50%,var(--n-100) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--r-sm)}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton{background:linear-gradient(90deg,var(--surface-inset) 25%,var(--border) 50%,var(--surface-inset) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-md)}.table{width:100%;border-collapse:collapse}.table th{padding:var(--sp-3) var(--sp-4);text-align:right;font-size:var(--text-xs);font-weight:var(--fw-semibold);color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;background:var(--surface-inset);border-bottom:1px solid var(--border)}.table td{padding:var(--sp-3) var(--sp-4);font-size:var(--text-sm);color:var(--text-primary);border-bottom:1px solid var(--border);vertical-align:middle}.table tbody tr:last-child td{border-bottom:none}.table tbody tr:hover td{background:var(--surface-inset)}.table__actions{display:flex;align-items:center;gap:var(--sp-1);justify-content:flex-end}.table-toolbar__search{position:relative;flex:1;max-width:360px}.skeleton{background:linear-gradient(90deg,var(--n-100) 25%,var(--n-200) 50%,var(--n-100) 75%);background-size:200% 100%;animation:shimmer 1.4s infinite;border-radius:var(--r-sm)}.skeleton--text{height:14px;width:80%}@media(max-width:768px){.data-table thead{display:none}.data-table tbody tr{display:flex;flex-direction:column;padding:var(--sp-4);margin-bottom:var(--sp-3);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background:var(--surface)}.data-table td{display:flex;align-items:center;border:none;padding:var(--sp-2) 0;font-size:var(--text-sm);gap:var(--sp-2);min-height:unset}.data-table td:before{content:attr(data-label);font-weight:var(--fw-semibold);color:var(--text-secondary);min-width:100px;font-size:var(--text-xs);flex-shrink:0}.data-table td:empty{display:none}.data-table-pagination{flex-wrap:wrap;gap:var(--sp-2);justify-content:center}.data-table-wrapper input[type=search]{max-width:100%}.table thead{display:none}.table tbody tr{display:flex;flex-direction:column;padding:var(--sp-4);border-bottom:1px solid var(--border)}.table td{display:flex;border:none;padding:var(--sp-1) 0}.table td:before{content:attr(data-label);font-weight:var(--fw-semibold);color:var(--text-secondary);min-width:120px;font-size:var(--text-xs)}}.data-table-wrapper{border-radius:var(--radius-lg);border:1px solid var(--border);overflow:hidden;box-shadow:var(--shadow-sm)}.data-table{border-collapse:collapse;width:100%;font-size:.875rem}.data-table thead tr{background:var(--surface-inset);border-bottom:2px solid var(--border)}.data-table th{padding:12px 16px;font-weight:600;color:var(--text-secondary);text-align:start;white-space:nowrap;letter-spacing:.02em;font-size:.8rem;text-transform:uppercase}[dir=rtl] .data-table th{text-transform:none}.data-table tbody tr{border-bottom:1px solid var(--border);transition:background var(--transition-fast);cursor:default}.data-table tbody tr:hover{background:var(--surface-inset)}.data-table tbody tr:last-child{border-bottom:none}.data-table td{padding:12px 16px;color:var(--text-primary);vertical-align:middle}.data-table tbody tr:nth-child(2n){background:#00000004}.data-table td[colspan]{text-align:center;padding:48px 16px;color:var(--text-muted)}.data-table th[data-sort]{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.data-table th[data-sort]:hover{color:var(--brand-600)}.data-table-pagination{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-top:1px solid var(--border);background:var(--surface);font-size:.875rem;color:var(--text-secondary)}.data-table-pagination button{background:transparent;border:1.5px solid transparent;color:var(--text-secondary);padding:6px 12px;border-radius:var(--radius-md);cursor:pointer;font-size:.875rem;font-family:var(--font-ui);transition:all var(--t-base);line-height:1}.data-table-pagination button:hover{background:var(--surface-inset);color:var(--text-primary)}.data-table-pagination button:disabled{opacity:.45;cursor:not-allowed}.row--clicking{background:var(--brand-50)!important}.badge,.status-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:var(--radius-xl);font-size:.75rem;font-weight:500;letter-spacing:.01em;white-space:nowrap}.badge:before,.status-badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.7}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);padding:var(--sp-4);animation:fadeIn var(--t-base)}@keyframes fadeIn{0%{opacity:0}}.modal,.modal-content{background:var(--surface);color:var(--on-surface);border:1px solid var(--border);border-radius:var(--radius-xl) var(--radius-xl) var(--r-2xl) var(--r-2xl);box-shadow:var(--shadow-xl);width:100%;max-width:560px;max-height:90vh;overflow-y:auto;animation:modalIn .25s cubic-bezier(.16,1,.3,1)}.modal-sm{max-width:400px}.modal-lg{max-width:720px}.modal-xl{max-width:900px}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.94) translateY(16px)}to{opacity:1;transform:none}}@keyframes modalIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-4);padding:var(--sp-5) var(--sp-6);border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--surface);z-index:1;border-radius:var(--radius-xl) var(--radius-xl) 0 0}.modal-header-left{display:flex;flex-direction:column;gap:4px}.modal-title{font-size:var(--text-lg);font-weight:var(--fw-bold);color:var(--text-primary);line-height:1.3}.modal-subtitle{font-size:var(--text-sm);color:var(--text-secondary)}.modal-close{width:32px;height:32px;border-radius:var(--r-md);border:none;background:var(--surface-inset);color:var(--text-muted);font-size:18px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--t-base);flex-shrink:0}.modal-close:hover{background:var(--danger-light);color:var(--danger)}.modal-body{padding:var(--sp-6);overflow-y:auto;max-height:70vh}.modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--sp-2);padding:var(--sp-4) var(--sp-6);border-top:1px solid var(--border);background:var(--surface-inset);border-radius:0 0 var(--r-2xl) var(--r-2xl);position:sticky;bottom:0}.modal-container{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);display:none;align-items:center;justify-content:center;padding:var(--sp-4)}.modal-container.open{display:flex}.modal__dialog{width:min(560px,95vw);max-height:90vh;display:flex;flex-direction:column;overflow:hidden;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-2xl);box-shadow:var(--shadow-xl)}.modal__header{padding:20px 24px;border-bottom:1px solid var(--border);flex-shrink:0;display:flex;align-items:center;justify-content:space-between}.modal__title{font-size:var(--text-lg);font-weight:var(--fw-bold);color:var(--text-primary)}.modal__close{width:32px;height:32px;border-radius:var(--r-md);border:none;background:var(--surface-inset);color:var(--text-muted);font-size:18px;display:flex;align-items:center;justify-content:center;cursor:pointer}.modal__close:hover{background:var(--danger-light);color:var(--danger)}.modal__body{flex:1;overflow-y:auto;padding:24px}.modal__footer{padding:16px 24px;border-top:1px solid var(--border);flex-shrink:0;display:flex;gap:12px;justify-content:flex-end;background:var(--surface)}.modal-confirm .modal-header{background:var(--danger-light)}.modal-confirm .modal-title{color:var(--danger-dark)}.modal-confirm-icon{width:48px;height:48px;background:var(--danger-light);border-radius:var(--r-full);display:flex;align-items:center;justify-content:center;font-size:24px;margin:0 auto var(--sp-4)}.drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000004d;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:calc(var(--z-drawer) - 1);animation:fadeIn var(--t-base)}.drawer,.drawer-content{position:fixed;top:0;width:min(520px,95vw);height:100vh;background:var(--surface);color:var(--on-surface);box-shadow:var(--shadow-xl);z-index:var(--z-drawer);display:flex;flex-direction:column;overflow:hidden;transition:transform var(--t-drawer)}.drawer--left{left:0;border-right:1px solid var(--border)}.drawer--right{right:0;border-left:1px solid var(--border)}.drawer{animation:drawerIn var(--t-drawer)}@keyframes drawerIn{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes drawerInRtl{0%{transform:translate(-100%)}to{transform:translate(0)}}[dir=rtl] .drawer{animation-name:drawerInRtl}.drawer-header,.drawer__header{padding:20px 24px;border-bottom:1px solid var(--border);flex-shrink:0;display:flex;align-items:center;justify-content:space-between}.drawer-title,.drawer__title{font-size:var(--text-xl);font-weight:var(--fw-bold);color:var(--text-primary)}.drawer-subtitle{font-size:var(--text-sm);color:var(--text-secondary);margin-top:2px}.drawer-body,.drawer__body{flex:1;overflow-y:auto;padding:24px;scroll-behavior:smooth}.drawer-footer,.drawer__footer{padding:16px 24px;border-top:1px solid var(--border);flex-shrink:0;display:flex;gap:12px;justify-content:flex-end;background:var(--surface)}[dir=rtl] .drawer-footer,[dir=rtl] .drawer__footer{justify-content:flex-start}@media(max-width:640px){.drawer{width:100vw}}.drawer-panel{display:flex;flex-direction:column;height:100vh;overflow:hidden}.modal-dialog{background:var(--surface);color:var(--on-surface)}.drawer label,.drawer span,.drawer h3,.drawer .form-check__label{color:var(--on-surface)}.drawer .form-control{background:var(--surface-variant);color:var(--on-surface);border-color:var(--outline)}.toast-container{position:fixed;top:var(--sp-4);left:50%;transform:translate(-50%);z-index:var(--z-toast);display:flex;flex-direction:column;gap:var(--sp-2);pointer-events:none;width:-moz-max-content;width:max-content;max-width:calc(100vw - var(--sp-8))}.toast{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-5);background:var(--n-900);color:#fff;border-radius:var(--r-xl);box-shadow:var(--shadow-lg);font-size:var(--text-sm);font-weight:var(--fw-medium);min-width:260px;pointer-events:all;animation:toastIn .3s cubic-bezier(.16,1,.3,1);border:1px solid rgba(255,255,255,.08)}@keyframes toastIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.toast-icon{font-size:18px;flex-shrink:0}.toast-msg{flex:1}.toast-close{background:none;border:none;color:#ffffff80;font-size:16px;cursor:pointer;padding:0 var(--sp-1);line-height:1;transition:color var(--t-base)}.toast-close:hover{color:#fff}.toast.success{border-right:4px solid var(--success)}.toast.danger{border-right:4px solid var(--danger)}.toast.warning{border-right:4px solid var(--warning)}.toast.info{border-right:4px solid var(--info)}.toast--success{border-right:4px solid var(--success)}.toast--warning{border-right:4px solid var(--warning)}.toast--danger{border-right:4px solid var(--danger)}.toast--info{border-right:4px solid var(--info)}.tabs-bar{display:flex;border-bottom:2px solid var(--border);gap:0;overflow-x:auto;scrollbar-width:none}.tabs-bar::-webkit-scrollbar{display:none}.tab-btn{display:inline-flex;align-items:center;gap:var(--sp-2);padding:var(--sp-3) var(--sp-5);font-family:var(--font-ui);font-size:var(--text-sm);font-weight:var(--fw-medium);color:var(--text-secondary);background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;cursor:pointer;transition:all var(--t-base);white-space:nowrap}.tab-btn:hover{color:var(--text-primary);background:var(--surface-inset)}.tab-btn.active{color:var(--brand-600);border-bottom-color:var(--brand-600);border-bottom-width:2px;font-weight:var(--fw-semibold);transition:color var(--transition-fast)}.tab-badge{background:var(--brand-100);color:var(--brand-700);font-size:10px;font-weight:var(--fw-bold);padding:1px 6px;border-radius:var(--r-full)}.tab-content{display:none}.tab-content.active{display:block}.tabs{display:flex;border-bottom:2px solid var(--border);overflow-x:auto;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tabs__btn{display:inline-flex;align-items:center;gap:var(--sp-2);padding:var(--sp-3) var(--sp-5);font-family:var(--font-ui);font-size:var(--text-sm);font-weight:var(--fw-medium);color:var(--text-secondary);background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;cursor:pointer;transition:all var(--t-base);white-space:nowrap}.tabs__btn:hover{color:var(--text-primary);background:var(--surface-inset)}.tabs__btn--active{color:var(--brand-600);border-bottom-color:var(--brand-600);font-weight:var(--fw-semibold)}.empty-state{display:flex;flex-direction:column;align-items:center;padding:48px 24px;text-align:center;gap:16px}.empty-state-illustration{width:80px;height:80px;background:var(--surface-inset);border-radius:var(--r-2xl);display:flex;align-items:center;justify-content:center;font-size:36px;margin-bottom:var(--sp-5);border:2px dashed var(--border-strong)}.empty-state-title{font-size:var(--text-xl);font-weight:var(--fw-bold);color:var(--text-primary);margin-bottom:var(--sp-2)}.empty-state-desc{font-size:var(--text-sm);color:var(--text-secondary);max-width:340px;line-height:1.7;margin-bottom:var(--sp-6)}.empty-state__icon{width:72px;height:72px;border-radius:50%;background:linear-gradient(135deg,var(--brand-50),var(--brand-100));display:flex;align-items:center;justify-content:center;font-size:2rem;margin-bottom:8px}.empty-state__title{font-size:1.1rem;font-weight:600;color:var(--text-primary)}.empty-state__subtitle{color:var(--text-muted);font-size:.9rem;max-width:320px}.empty-state__desc{font-size:var(--text-sm);color:var(--text-secondary);max-width:340px}.empty-state__action{margin-top:8px}.dropdown{position:relative;display:inline-block}.dropdown-menu{position:absolute;top:calc(100% + var(--sp-1));left:0;min-width:180px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);z-index:var(--z-dropdown);overflow:hidden;animation:dropIn .15s ease}@keyframes dropIn{0%{opacity:0;transform:translateY(-6px) scale(.97)}}.dropdown-item{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-4);font-size:var(--text-sm);color:var(--text-primary);cursor:pointer;transition:background var(--t-fast)}.dropdown-item:hover{background:var(--surface-inset)}.dropdown-item.danger{color:var(--danger)}.dropdown-item.danger:hover{background:var(--danger-light)}.dropdown-divider{height:1px;background:var(--border);margin:var(--sp-1) 0}.dropdown-label{padding:var(--sp-2) var(--sp-4) var(--sp-1);font-size:var(--text-xs);font-weight:var(--fw-semibold);color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}.dropdown__menu{position:absolute;top:calc(100% + var(--sp-1));left:0;min-width:180px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);z-index:var(--z-dropdown);overflow:hidden;display:none}.dropdown__menu.open{display:block}.dropdown__item{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-4);font-size:var(--text-sm);color:var(--text-primary);cursor:pointer;transition:background var(--t-fast)}.dropdown__item:hover{background:var(--surface-inset)}.dropdown__item--danger{color:var(--danger)}.dropdown__item--danger:hover{background:var(--danger-light)}.dropdown__divider{height:1px;background:var(--border);margin:var(--sp-1) 0}.alert{display:flex;align-items:flex-start;gap:var(--sp-3);padding:var(--sp-4);border-radius:var(--r-lg);font-size:var(--text-sm);border:1px solid}.alert-icon{font-size:18px;flex-shrink:0}.alert-content{flex:1}.alert-title{font-weight:var(--fw-semibold);margin-bottom:var(--sp-1)}.alert-success{background:var(--success-light);color:var(--success-dark);border-color:#bbf7d0}.alert-warning{background:var(--warning-light);color:var(--warning-dark);border-color:#fde68a}.alert-danger{background:var(--danger-light);color:var(--danger-dark);border-color:#fecaca}.alert-info{background:var(--info-light);color:var(--info-dark);border-color:#a5f3fc}.timeline{position:relative;padding-right:var(--sp-6)}.timeline:before{content:"";position:absolute;right:11px;top:0;bottom:0;width:2px;background:var(--border)}.timeline-item{position:relative;padding-bottom:var(--sp-6)}.timeline-dot{position:absolute;right:-var(--sp-6);right:calc(-1 * var(--sp-6));top:4px;width:20px;height:20px;border-radius:50%;background:var(--surface);border:2px solid var(--border-strong);display:flex;align-items:center;justify-content:center;font-size:10px;margin-right:calc(-1 * var(--sp-4))}.timeline-dot.active{border-color:var(--brand-500);background:var(--brand-50)}.timeline-dot.closed{border-color:var(--n-300);background:var(--n-100)}.timeline-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-4) var(--sp-5);box-shadow:var(--shadow-xs)}.print-document{font-family:var(--font-ui);color:#000;background:#fff;padding:32px;max-width:794px;margin:0 auto}.print-header{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:16px;border-bottom:2px solid #1D4ED8;margin-bottom:24px}.print-clinic-name{font-size:22px;font-weight:700;color:#1d4ed8}.print-clinic-info{font-size:12px;color:#64748b;margin-top:4px}.print-doc-title{font-size:14px;font-weight:600;color:#1e293b;text-align:left}.print-doc-number{font-size:24px;font-weight:800;color:#0f172a;font-family:Inter,monospace}.print-table{width:100%;border-collapse:collapse;margin:16px 0;font-size:13px}.print-table th{background:#f1f5f9;padding:8px 12px;text-align:right;font-weight:600;color:#475569;border-bottom:1px solid #E2E8F0}.print-table td{padding:8px 12px;border-bottom:1px solid #F1F5F9;color:#1e293b}.print-table tfoot td{font-weight:700;background:#f8fafc;border-top:2px solid #E2E8F0}.print-patient-card{display:grid;grid-template-columns:1fr 1fr;gap:8px 24px;font-size:13px;margin-bottom:24px}.print-field-label{color:#64748b;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.print-field-value{color:#0f172a;font-weight:500;margin-top:2px}.print-footer{margin-top:32px;padding-top:16px;border-top:1px solid #E2E8F0;display:flex;justify-content:space-between;font-size:11px;color:#94a3b8}.divider-label{display:flex;align-items:center;gap:var(--sp-3);font-size:var(--text-xs);font-weight:var(--fw-semibold);color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin:var(--sp-5) 0}.divider-label:before,.divider-label:after{content:"";flex:1;height:1px;background:var(--border)}.avatar{border-radius:var(--r-full);background:linear-gradient(135deg,var(--brand-500),var(--brand-700));color:#fff;font-weight:var(--fw-bold);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;font-size:var(--text-sm)}.avatar-sm{width:28px;height:28px;font-size:var(--text-xs)}.avatar-md{width:36px;height:36px}.avatar-lg{width:48px;height:48px;font-size:var(--text-md)}.avatar-xl{width:64px;height:64px;font-size:var(--text-xl)}.avatar--sm{width:28px;height:28px;font-size:var(--text-xs)}.avatar--lg{width:48px;height:48px;font-size:var(--text-md)}.avatar--xl{width:64px;height:64px;font-size:var(--text-xl)}.progress{height:8px;background:var(--n-100);border-radius:var(--r-full);overflow:hidden}.progress-bar{height:100%;border-radius:var(--r-full);transition:width .6s ease}.progress-bar.blue{background:var(--brand-500)}.progress-bar.green{background:var(--success)}.progress-bar.amber{background:var(--warning)}.progress-bar.red{background:var(--danger)}.progress-bar-container{height:8px;background:var(--surface-variant);border-radius:99px;overflow:hidden}.progress-bar-fill{height:100%;border-radius:99px;transition:width .5s ease}.progress-bar-fill.green{background:var(--success)}.progress-bar-fill.orange{background:#f59e0b}.progress-bar-fill.red{background:var(--danger)}.offline-banner{position:fixed;top:0;left:0;right:0;background:var(--warning);color:#fff;text-align:center;padding:var(--sp-2) var(--sp-4);font-size:var(--text-sm);font-weight:var(--fw-semibold);z-index:var(--z-toast);display:none}.offline-banner.visible{display:block}.demo-banner{background:#f59e0b;color:#000;text-align:center;padding:8px;font-size:var(--text-sm);font-weight:var(--fw-semibold);position:relative;display:flex;align-items:center;justify-content:center;gap:12px}.demo-banner-close{background:#00000026;border:none;color:#000;cursor:pointer;font-size:var(--text-sm);padding:4px 12px;border-radius:var(--r-sm);font-weight:var(--fw-medium)}.demo-banner-close:hover{background:#00000040}.trial-warning-banner{background:#fef3c7;border-bottom:1px solid #f59e0b;color:#92400e;text-align:center;padding:10px 16px;font-size:var(--text-sm);font-weight:var(--fw-medium);display:flex;align-items:center;justify-content:center;gap:12px}.trial-warning-banner strong{color:#b45309}.trial-warning-banner .btn{background:#f59e0b;color:#000;border:none;text-decoration:none}.trial-expired-block{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:#000000d9;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.trial-expired-card{background:#fff;border-radius:var(--radius-xl);padding:48px 40px;text-align:center;max-width:420px;width:90%;box-shadow:0 25px 50px -12px #0006}.trial-expired-icon{font-size:56px;margin-bottom:16px}.trial-expired-card h2{font-size:var(--text-xl);color:var(--text-primary);margin-bottom:8px}.trial-expired-card p{color:var(--text-secondary);margin-bottom:24px}.trial-expired-card .btn-lg{padding:12px 32px;font-size:var(--text-base);text-decoration:none;display:inline-block}.demo-hero{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0f172a,#1e293b,#0f172a);padding:24px}.demo-hero__card{max-width:520px;width:100%;text-align:center;padding:48px 32px}.demo-hero__logo{margin-bottom:16px}.demo-hero__brand{font-size:36px;font-weight:800;color:#fff;margin:0 0 8px;letter-spacing:-.02em}.demo-hero__tagline{font-size:18px;color:#94a3b8;margin:0 0 40px}.demo-hero__features{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:40px}.demo-hero__feature{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 8px;background:#ffffff0d;border-radius:12px;color:#e2e8f0;font-size:14px;font-weight:500}.demo-hero__feature-icon{font-size:28px;line-height:1}.demo-hero__cta{width:100%;padding:14px 24px;font-size:16px;font-weight:600;margin-bottom:20px}.demo-hero__login{margin:0}.demo-hero__login a{color:#64748b;font-size:14px;text-decoration:none}.demo-hero__login a:hover{color:#94a3b8;text-decoration:underline}.chip{display:inline-flex;align-items:center;gap:var(--sp-2);padding:var(--sp-1) var(--sp-3);background:var(--n-100);color:var(--text-primary);border-radius:var(--r-full);font-size:var(--text-sm);font-weight:var(--fw-medium);border:1px solid var(--border)}.chip__remove{font-size:14px;color:var(--text-muted);cursor:pointer;transition:color var(--t-fast)}.chip__remove:hover{color:var(--danger)}.header__notif-btn{width:36px;height:36px;border-radius:var(--r-md);border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--t-base);font-size:16px;position:relative;flex-shrink:0}.header__notif-btn:hover{background:var(--surface-inset)}.header__notif-icon{font-size:20px;line-height:1}.header__notif-badge{position:absolute;top:-4px;left:-4px;min-width:16px;height:16px;background:var(--danger);color:#fff;font-size:10px;font-weight:var(--fw-bold);border-radius:var(--r-full);display:flex;align-items:center;justify-content:center;padding:0 4px;border:2px solid var(--surface)}.header__notif-menu{width:300px;max-height:360px;overflow:hidden}.header__notif-header{padding:var(--sp-3) var(--sp-4);font-size:var(--text-sm);font-weight:var(--fw-semibold);color:var(--text-primary);border-bottom:1px solid var(--border)}.header__notif-list{flex:1;overflow-y:auto;max-height:260px}.header__notif-item{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);font-size:var(--text-sm);color:var(--text-primary);cursor:pointer;text-decoration:none}.header__notif-item:hover{background:var(--brand-50)}.header__notif-item-icon{font-size:18px;flex-shrink:0}.header__notif-item-text{flex:1;min-width:0}.header__notif-empty{padding:var(--sp-8) var(--sp-4);text-align:center;font-size:var(--text-sm);color:var(--text-muted)}.header__notif-footer{border-top:1px solid var(--border);padding:var(--sp-2) var(--sp-4);text-align:center}.header__notif-viewall{display:block;padding:var(--sp-2);font-size:var(--text-sm);color:var(--text-brand);text-decoration:none;border-radius:var(--r-md);transition:background var(--t-fast);font-weight:var(--fw-medium)}.header__notif-viewall:hover{background:var(--brand-50)}.btn-group .btn:not(:last-child){border-radius:0}.section-title{font-size:var(--text-lg);font-weight:var(--fw-semibold);color:var(--text-primary);margin-bottom:var(--sp-4)}.onboarding-wizard{max-width:600px;margin:var(--sp-8) auto;padding:var(--sp-6)}.onboarding-wizard .wizard-header{text-align:center;margin-bottom:var(--sp-6)}.onboarding-wizard .wizard-header h1{font-size:var(--text-2xl);font-weight:700;color:var(--text-primary)}.onboarding-wizard .wizard-progress{margin-bottom:var(--sp-6)}.onboarding-wizard .wizard-progress__bar{height:6px;background:var(--n-200);border-radius:var(--r-full);overflow:hidden}.onboarding-wizard .wizard-progress__fill{height:100%;background:var(--brand-600);border-radius:var(--r-full);transition:width .4s ease}.onboarding-wizard .wizard-progress__label{text-align:center;margin-top:var(--sp-2);font-size:var(--text-sm);color:var(--text-secondary)}.wizard-step{opacity:0;transform:translate(30px);transition:opacity .35s ease,transform .35s ease}.wizard-step--visible{opacity:1;transform:translate(0)}.onboarding-wizard .wizard-actions{display:flex;gap:var(--sp-2);justify-content:space-between;margin-top:var(--sp-6)}.onboarding-wizard .wizard-actions>div{display:flex;gap:var(--sp-2)}body.onboarding-active .sidebar,body.onboarding-active .header{display:none}body.onboarding-active .main-wrapper{margin-right:0}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden}.cal-header{background:var(--surface-inset);padding:var(--sp-2);text-align:center;font-size:var(--text-xs);font-weight:var(--fw-semibold);color:var(--text-secondary)}.cal-cell{min-height:100px;padding:var(--sp-1);background:var(--surface);overflow:hidden;cursor:pointer;position:relative}.cal-cell:hover{background:var(--n-100)}.cal-cell--other-month{opacity:.3}.cal-cell__day{position:absolute;top:var(--sp-1);inset-inline-end:var(--sp-1);font-size:var(--text-xs);font-weight:var(--fw-medium);color:var(--text-primary);width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%}.cal-cell--today .cal-cell__day{background:var(--brand-600);color:#fff;font-weight:var(--fw-bold)}.cal-pills{margin-top:28px;display:flex;flex-direction:column;gap:1px}.cal-pill{display:block;font-size:var(--text-2xs);padding:1px 4px;margin-bottom:1px;border-radius:var(--r-sm);cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#fff;line-height:1.4}.cal-pill:hover{filter:brightness(.85)}.cal-pill.cal-pill--scheduled{background:var(--brand-500)}.cal-pill.cal-pill--confirmed{background:var(--info)}.cal-pill.cal-pill--arrived{background:var(--warning)}.cal-pill.cal-pill--completed{background:var(--success)}.cal-pill.cal-pill--cancelled{background:var(--n-400)}.cal-pill.cal-pill--no_show{background:var(--danger)}.cal-more{font-size:var(--text-2xs);color:var(--brand-600);cursor:pointer;padding:0 4px;font-weight:var(--fw-medium)}.cal-pill--dot{display:none}@media(max-width:640px){.cal-cell{min-height:60px;padding:2px}.cal-cell__day{width:20px;height:20px;font-size:var(--text-2xs)}.cal-pills{margin-top:20px;flex-direction:row;flex-wrap:wrap;gap:2px;justify-content:center}.cal-pill{display:none}.cal-pill--dot{display:inline-block;width:6px;height:6px;border-radius:50%;padding:0;margin:0}.cal-more{display:none}}.plan-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);padding:var(--sp-8);display:flex;flex-direction:column;position:relative;transition:all var(--transition-normal)}.plan-card--popular{border-color:var(--brand-500);border-width:2px;box-shadow:var(--shadow-xl)}.plan-card__badge{position:absolute;top:-12px;left:50%;transform:translate(-50%);background:var(--brand-600);color:#fff;padding:var(--sp-1) var(--sp-4);border-radius:var(--r-full);font-size:var(--text-xs);font-weight:var(--fw-bold);white-space:nowrap;z-index:2}.plan-card__header{margin-bottom:var(--sp-6);text-align:center}.plan-card__title{font-size:var(--text-xl);font-weight:var(--fw-bold);margin-bottom:var(--sp-4);color:var(--text-primary)}.plan-card__price{margin-bottom:var(--sp-2)}.plan-card__amount{font-size:var(--text-3xl);font-weight:var(--fw-black);color:var(--brand-700)}.plan-card__currency{font-size:var(--text-sm);color:var(--text-muted);margin-inline-start:var(--sp-1)}.plan-card__period{font-size:var(--text-sm);color:var(--text-muted)}.plan-card__features{list-style:none;padding:0;margin:0 0 var(--sp-8) 0;flex:1}.plan-card__features li{display:flex;align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-3);font-size:var(--text-sm);color:var(--text-secondary)}.plan-card__features li svg{color:var(--success);flex-shrink:0}.landing-nav{position:sticky;top:0;z-index:100;background:var(--surface);border-bottom:1px solid var(--border);color:var(--text-primary)}.landing-nav .btn--ghost{color:var(--text-secondary)}.landing-nav .btn--ghost:hover{color:var(--text-primary)}.landing-nav__inner{max-width:1200px;margin:0 auto;padding:0 var(--sp-6);display:flex;align-items:center;justify-content:space-between;height:64px}.landing-nav__start{display:flex;align-items:center}.landing-nav__logo{display:flex;align-items:center;gap:var(--sp-3);text-decoration:none}.landing-nav__logo-icon{width:36px;height:36px;background:linear-gradient(135deg,var(--brand-500),var(--brand-600));border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;color:#fff;box-shadow:0 2px 8px #2563eb40}.landing-nav__logo-text{font-size:var(--text-xl);font-weight:var(--fw-bold);color:var(--text-primary)}.landing-nav__end{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap}.landing-nav__hamburger{display:none;background:none;border:none;cursor:pointer;padding:var(--sp-2);flex-direction:column;gap:5px}.landing-nav__hamburger span{display:block;width:22px;height:2px;background:var(--text-primary);border-radius:2px;transition:all var(--t-fast)}.landing-nav__mobile{display:none;flex-direction:column;border-top:1px solid var(--border);background:var(--surface)}.landing-nav__mobile-link{padding:var(--sp-4) var(--sp-6);font-size:var(--text-sm);font-weight:var(--fw-medium);color:var(--text-primary);text-decoration:none;transition:background var(--t-fast)}.landing-nav__mobile-link:hover{background:var(--n-50)}@media(max-width:640px){.landing-nav__end{display:none}.landing-nav__hamburger{display:flex}.landing-nav__mobile:not(.hidden){display:flex}}.landing-page{font-family:var(--font-ui);color:var(--text-primary);line-height:1.6}.landing-section{padding:var(--sp-20) var(--sp-6);max-width:1200px;margin:0 auto}.landing-section--alt{background:var(--surface-inset);max-width:none}.landing-title{text-align:center;margin-bottom:var(--sp-12)}.landing-title h2{font-size:var(--text-3xl);font-weight:var(--fw-bold);margin-bottom:var(--sp-4);color:var(--brand-700)}.landing-title p{font-size:var(--text-lg);color:var(--text-muted);max-width:600px;margin:0 auto}.landing-hero{min-height:80vh;display:flex;align-items:center;justify-content:center;text-align:center;background:radial-gradient(circle at top right,var(--brand-50),transparent),radial-gradient(circle at bottom left,var(--success-50),transparent);padding:var(--sp-20) var(--sp-6)}.landing-hero__content{max-width:700px;margin:0 auto;padding:0 var(--sp-4);text-align:center}.landing-hero__title{font-size:clamp(var(--text-3xl),8vw,var(--text-5xl));font-weight:var(--fw-black);line-height:1.1;margin-bottom:var(--sp-6);background:linear-gradient(135deg,var(--brand-700),var(--brand-900));-webkit-background-clip:text;-webkit-text-fill-color:transparent}.landing-hero__subtitle{font-size:var(--text-xl);color:var(--text-secondary);margin-bottom:var(--sp-10);line-height:1.5}.landing-hero__actions{display:flex;gap:var(--sp-4);justify-content:center;flex-wrap:wrap}.landing-features{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--sp-6)}.landing-feature-card{background:var(--surface);padding:var(--sp-8);border-radius:var(--radius-xl);border:1px solid var(--border);transition:all var(--transition-normal)}.landing-feature-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-xl);border-color:var(--brand-300)}.landing-feature-card__icon{font-size:40px;margin-bottom:var(--sp-6);display:block}.landing-feature-card h3{font-size:var(--text-xl);font-weight:var(--fw-bold);margin-bottom:var(--sp-3);color:var(--text-primary)}.landing-how{display:flex;flex-direction:column;gap:var(--sp-6);max-width:700px;margin:0 auto}.landing-how-step{display:flex;align-items:center;gap:var(--sp-10)}.landing-how-step__number{width:60px;height:60px;background:var(--brand-600);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:var(--text-2xl);font-weight:var(--fw-black);flex-shrink:0;box-shadow:var(--shadow-lg)}.landing-how-step__content{flex:1}.landing-pricing{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--sp-6)}.landing-testimonials{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--sp-6)}.landing-testimonial-card{background:var(--surface);padding:var(--sp-8);border-radius:var(--radius-lg);border:1px solid var(--border);position:relative}.landing-testimonial-card:before{content:'"';position:absolute;top:var(--sp-4);left:var(--sp-4);font-size:60px;color:var(--brand-100);font-family:serif;line-height:1}.landing-testimonial-card p{font-style:italic;margin-bottom:var(--sp-6);position:relative;z-index:1}.landing-testimonial-card__author{display:flex;align-items:center;gap:var(--sp-4)}.landing-testimonial-card__avatar{width:48px;height:48px;background:var(--brand-100);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:var(--fw-bold);color:var(--brand-700)}.landing-cta-block{text-align:center;background:linear-gradient(135deg,var(--brand-600),var(--brand-800));color:#fff;padding:var(--sp-20) var(--sp-6);border-radius:var(--radius-2xl);margin:var(--sp-20) var(--sp-6)}.landing-cta-block h2{font-size:var(--text-4xl);font-weight:var(--fw-black);margin-bottom:var(--sp-6)}.landing-footer{text-align:center;padding:var(--sp-12) var(--sp-6);border-top:1px solid var(--border);color:var(--text-muted)}@media(max-width:768px){.landing-how-step{flex-direction:column!important;text-align:center}.landing-title h2{font-size:var(--text-2xl)}}.password-strength{height:4px;background:var(--n-200);border-radius:var(--r-full);margin-top:var(--sp-2);overflow:hidden;position:relative}.password-strength__bar{height:100%;width:0;transition:width .3s ease,background-color .3s ease}.password-strength--weak{width:33%;background-color:var(--danger)}.password-strength--medium{width:66%;background-color:var(--warning)}.password-strength--strong{width:100%;background-color:var(--success)}.password-strength__label{font-size:var(--text-xs);margin-top:var(--sp-1);display:block}.notif-drawer{display:flex;flex-direction:column;height:100%}.notif-drawer-header{border-bottom:1px solid var(--border);flex-shrink:0}.notif-drawer-header-top{display:flex;align-items:center;justify-content:space-between;padding:var(--sp-4)}.notif-drawer-title{font-size:var(--text-lg);font-weight:var(--fw-semibold);color:var(--text-primary);margin:0}.notif-drawer-close{color:var(--text-secondary)}.notif-drawer-close:hover{color:var(--text-primary)}.notif-drawer-actions{display:flex;gap:var(--sp-2);padding:0 var(--sp-4) var(--sp-3)}.notif-drawer-actions .btn--danger-ghost{color:var(--danger)}.notif-drawer-actions .btn--danger-ghost:hover{background:var(--n-100)}.notif-drawer-tabs{display:flex;overflow-x:auto;gap:0;padding:0 var(--sp-4);scrollbar-width:none}.notif-drawer-tabs::-webkit-scrollbar{display:none}.notif-tab{flex-shrink:0;padding:var(--sp-2) var(--sp-3);font-size:var(--text-xs);font-weight:var(--fw-medium);color:var(--text-secondary);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:color var(--t-fast),border-color var(--t-fast);white-space:nowrap}.notif-tab:hover{color:var(--text-primary)}.notif-tab--active{color:var(--brand-600);border-bottom-color:var(--brand-600)}.notif-drawer-body{flex:1;overflow-y:auto;min-height:0}.notif-loading{display:flex;align-items:center;justify-content:center;padding:var(--sp-12)}.notif-empty{display:flex;align-items:center;justify-content:center;padding:var(--sp-16);font-size:var(--text-sm);color:var(--text-muted)}.notif-item{border-bottom:1px solid var(--border);transition:background var(--t-fast)}.notif-item:hover{background:var(--n-50)}.notif-item--unread{background:var(--brand-50)}.notif-item-row{display:flex;align-items:flex-start;gap:var(--sp-3);padding:var(--sp-4);cursor:pointer;position:relative}.notif-item-icon{font-size:20px;flex-shrink:0;margin-top:2px}.notif-item-content{flex:1;min-width:0}.notif-item-title{font-size:var(--text-sm);font-weight:var(--fw-semibold);color:var(--text-primary);margin-bottom:2px}.notif-item-body{font-size:var(--text-xs);color:var(--text-secondary);margin-bottom:4px;line-height:1.4}.notif-item-time{font-size:var(--text-2xs);color:var(--text-muted)}.notif-item-actions{display:flex;gap:var(--sp-1);flex-shrink:0}.notif-item-mark-read{color:var(--success);opacity:.6;transition:opacity var(--t-fast)}.notif-item-mark-read:hover{opacity:1}.notif-item-delete{color:var(--text-muted);transition:color var(--t-fast)}.notif-item-delete:hover{color:var(--danger)}.notif-drawer-footer{border-top:1px solid var(--border);padding:var(--sp-3) var(--sp-4);text-align:center;flex-shrink:0}.notif-load-more{width:100%}.notif-no-more{font-size:var(--text-xs);color:var(--text-muted)}.public-profile-page{font-family:var(--font-ui);line-height:1.6}.public-profile-body .card{margin-bottom:var(--space-6)}.booking-step{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--border-color)}.booking-step h3{font-size:var(--text-lg);font-weight:var(--fw-bold);margin:0 0 var(--space-4)}@media(max-width:640px){.public-profile-body{padding:var(--space-4) var(--space-3)}.public-profile-header{padding:var(--space-6) var(--space-3)}}.install-banner{position:fixed;bottom:0;left:0;right:0;z-index:1000;display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);background:var(--surface-primary, #ffffff);border-top:1px solid var(--border-color, #e0e0e0);box-shadow:0 -4px 12px #0000001a;font-size:var(--text-sm, 14px);animation:installBannerSlideUp .3s ease-out}[dir=rtl] .install-banner{flex-direction:row-reverse}.install-banner__text{flex:1;color:var(--text-primary, #1a1a1a);line-height:1.4}.install-banner__btn{flex-shrink:0}.install-banner__dismiss{flex-shrink:0;color:var(--text-muted, #757575)}@keyframes installBannerSlideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@media(min-width:768px){.install-banner{left:auto;right:var(--sp-4);bottom:var(--sp-4);max-width:420px;border-radius:var(--r-lg, 12px);border:1px solid var(--border-color, #e0e0e0);box-shadow:0 8px 24px #00000026}[dir=rtl] .install-banner{left:var(--sp-4);right:auto}}.reg-saas{display:flex;justify-content:center;align-items:flex-start;min-height:100%;padding:var(--sp-6) var(--sp-4)}.reg-saas__card{width:100%;max-width:680px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);overflow:hidden}.reg-saas__header{text-align:center;padding:var(--sp-8) var(--sp-8) var(--sp-6);border-bottom:1px solid var(--border);background:linear-gradient(180deg,var(--surface),var(--surface-inset))}.reg-saas__brand{display:flex;align-items:center;justify-content:center;gap:var(--sp-3);margin-bottom:var(--sp-5)}.reg-saas__logo{width:44px;height:44px;background:linear-gradient(135deg,var(--brand-500),var(--brand-700));border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:800;color:#fff;box-shadow:0 4px 12px #2563eb4d}.reg-saas__brand-text{font-size:var(--text-xl);font-weight:800;color:var(--text-primary);letter-spacing:-.02em}.reg-saas__title{font-size:var(--text-2xl);font-weight:var(--fw-bold);color:var(--text-primary);margin:0 0 var(--sp-2);letter-spacing:-.02em}.reg-saas__subtitle{font-size:var(--text-sm);color:var(--text-muted);margin:0}.reg-saas__body{padding:var(--sp-8)}.reg-saas__error{margin:0 var(--sp-8) var(--sp-4);padding:var(--sp-3) var(--sp-4);background:var(--danger-light);border:1px solid var(--danger);border-radius:var(--radius-md);color:var(--danger-dark);font-size:var(--text-sm);font-weight:var(--fw-medium)}.reg-saas__footer{display:flex;justify-content:space-between;padding:var(--sp-5) var(--sp-8);border-top:1px solid var(--border);background:var(--surface-inset)}.reg-saas__login-link{text-align:center;padding:var(--sp-4) var(--sp-8) var(--sp-6);border-top:1px solid var(--border)}.reg-saas__link{color:var(--brand-600);font-size:var(--text-sm);font-weight:var(--fw-medium);text-decoration:none;transition:color var(--transition-fast)}.reg-saas__link:hover{color:var(--brand-700);text-decoration:underline}.reg-saas__progress{display:flex;justify-content:center;padding:var(--sp-6) var(--sp-8);background:var(--surface);border-bottom:1px solid var(--border)}.reg-saas__progress-step{display:flex;flex-direction:column;align-items:center;gap:var(--sp-2);position:relative}.reg-saas__progress-indicator{display:flex;align-items:center}.reg-saas__progress-circle{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:var(--text-sm);font-weight:var(--fw-bold);background:var(--n-100);color:var(--text-muted);border:2px solid var(--n-200);transition:all var(--transition-normal);flex-shrink:0}.reg-saas__progress-step--active .reg-saas__progress-circle{background:var(--brand-600);color:#fff;border-color:var(--brand-600);box-shadow:0 0 0 4px var(--brand-100)}.reg-saas__progress-step--complete .reg-saas__progress-circle{background:var(--success);color:#fff;border-color:var(--success)}.reg-saas__progress-line{width:60px;height:3px;background:var(--n-200);margin:0 var(--sp-2);border-radius:2px;transition:background var(--transition-normal)}.reg-saas__progress-line--filled{background:var(--success)}.reg-saas__progress-label{font-size:var(--text-xs);color:var(--text-muted);font-weight:var(--fw-medium);white-space:nowrap;text-align:center}.reg-saas__progress-step--active .reg-saas__progress-label{color:var(--brand-600);font-weight:var(--fw-semibold)}.reg-saas__progress-step--complete .reg-saas__progress-label{color:var(--success)}.reg-saas__form{animation:regFadeIn .3s ease}@keyframes regFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.reg-saas__step-title{font-size:var(--text-lg);font-weight:var(--fw-bold);color:var(--text-primary);margin:0 0 var(--sp-1)}.reg-saas__step-desc{font-size:var(--text-sm);color:var(--text-muted);margin:0 0 var(--sp-6)}.reg-saas__grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-4)}.reg-saas__grid-col--2{grid-column:span 2}.reg-saas__field{display:flex;flex-direction:column;gap:var(--sp-1)}.reg-saas__label{font-size:var(--text-sm);font-weight:var(--fw-medium);color:var(--text-secondary);margin-bottom:var(--sp-1)}.reg-saas__input{width:100%;padding:10px 14px;font-family:var(--font-ui);font-size:var(--text-sm);color:var(--text-primary);background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-md);min-height:42px;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);-webkit-appearance:none;-moz-appearance:none;appearance:none;box-sizing:border-box}.reg-saas__input:hover{border-color:var(--n-400)}.reg-saas__input:focus{outline:none;border-color:var(--brand-500);box-shadow:0 0 0 3px var(--brand-100)}.reg-saas__input::-moz-placeholder{color:var(--text-muted)}.reg-saas__input::placeholder{color:var(--text-muted)}.reg-saas__input--password{padding-left:40px;direction:ltr;text-align:left}[dir=rtl] .reg-saas__input--password{padding-left:14px;padding-right:40px;text-align:left}select.reg-saas__input{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2394A3B8' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:left var(--sp-3) center;padding-left:var(--sp-8);cursor:pointer}.reg-saas__field-error{font-size:var(--text-xs);color:var(--danger);font-weight:var(--fw-medium)}.reg-saas__password-wrap{position:relative}.reg-saas__password-toggle{position:absolute;top:50%;transform:translateY(-50%);left:10px;background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:color var(--transition-fast)}[dir=rtl] .reg-saas__password-toggle{left:auto;right:10px}.reg-saas__password-toggle:hover{color:var(--text-primary)}.reg-saas__pw-strength{height:4px;background:var(--n-100);border-radius:2px;margin-top:var(--sp-2);overflow:hidden}.reg-saas__pw-bar{height:100%;width:0;border-radius:2px;transition:width .3s ease,background .3s ease}.reg-saas__pw-bar--weak{width:33%;background:var(--danger)}.reg-saas__pw-bar--medium{width:66%;background:var(--warning)}.reg-saas__pw-bar--strong{width:100%;background:var(--success)}.reg-saas__pw-label{font-size:var(--text-xs);color:var(--text-muted);margin-top:var(--sp-1);display:block}.reg-saas__plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--sp-4);margin-bottom:var(--sp-6)}.reg-saas__plan{border:1.5px solid var(--border);border-radius:var(--radius-lg);padding:var(--sp-5);cursor:pointer;transition:all var(--transition-fast);position:relative;background:var(--surface)}.reg-saas__plan:hover{border-color:var(--brand-300);box-shadow:var(--shadow-md);transform:translateY(-2px)}.reg-saas__plan--selected{border-color:var(--brand-600);border-width:2px;box-shadow:0 0 0 3px var(--brand-100)}.reg-saas__plan--popular{border-color:var(--brand-500)}.reg-saas__plan-badge{position:absolute;top:-10px;left:50%;transform:translate(-50%);background:var(--brand-600);color:#fff;padding:2px 12px;border-radius:var(--r-full);font-size:var(--text-2xs);font-weight:var(--fw-bold);white-space:nowrap}.reg-saas__plan-header{text-align:center;margin-bottom:var(--sp-4)}.reg-saas__plan-name{font-size:var(--text-base);font-weight:var(--fw-bold);color:var(--text-primary);display:block;margin-bottom:var(--sp-2)}.reg-saas__plan-price{display:flex;align-items:baseline;justify-content:center;gap:var(--sp-1)}.reg-saas__plan-amount{font-size:var(--text-2xl);font-weight:var(--fw-black);color:var(--brand-700)}.reg-saas__plan-currency{font-size:var(--text-xs);color:var(--text-muted)}.reg-saas__plan-features{list-style:none;padding:0;margin:0}.reg-saas__plan-feature{display:flex;align-items:center;gap:var(--sp-2);font-size:var(--text-xs);color:var(--text-secondary);padding:var(--sp-1) 0}.reg-saas__plan-feature-icon{color:var(--success);flex-shrink:0}.reg-saas__coupon{margin-bottom:var(--sp-6);padding-top:var(--sp-4);border-top:1px solid var(--border)}.reg-saas__coupon-row{display:flex;gap:var(--sp-3);align-items:center}.reg-saas__coupon-row .reg-saas__input{flex:1;font-family:monospace;text-transform:uppercase}.reg-saas__coupon-msg{font-size:var(--text-xs);margin-top:var(--sp-1)}.reg-saas__terms{padding-top:var(--sp-4);border-top:1px solid var(--border)}.reg-saas__checkbox{display:flex;align-items:center;gap:var(--sp-3);cursor:pointer;font-size:var(--text-sm);color:var(--text-secondary);position:relative}.reg-saas__checkbox input{position:absolute;opacity:0;cursor:pointer;height:0;width:0}.reg-saas__checkbox-mark{width:20px;height:20px;border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.reg-saas__checkbox input:checked~.reg-saas__checkbox-mark{background:var(--brand-600);border-color:var(--brand-600)}.reg-saas__checkbox input:checked~.reg-saas__checkbox-mark:after{content:"";width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg);margin-top:-2px}.reg-saas__checkbox-label{font-size:var(--text-sm);color:var(--text-secondary)}.reg-saas__checkbox-label a{color:var(--brand-600);text-decoration:none;font-weight:var(--fw-medium)}.reg-saas__checkbox-label a:hover{text-decoration:underline}.reg-saas__btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);padding:0 var(--sp-5);height:42px;font-family:var(--font-ui);font-size:var(--text-sm);font-weight:var(--fw-medium);border-radius:var(--radius-md);border:1.5px solid transparent;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;text-decoration:none;line-height:1}.reg-saas__btn:disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.reg-saas__btn--primary{background:linear-gradient(135deg,var(--brand-600),var(--brand-700));border-color:var(--brand-600);color:#fff;box-shadow:0 1px 3px #2563eb33}.reg-saas__btn--primary:hover{background:var(--brand-700);border-color:var(--brand-700);box-shadow:0 4px 10px #2563eb4d;transform:translateY(-1px)}.reg-saas__btn--secondary{background:var(--surface);border-color:var(--border-strong);color:var(--text-primary)}.reg-saas__btn--secondary:hover{background:var(--surface-inset);border-color:var(--n-400)}.reg-saas__btn--outline{background:transparent;border-color:var(--brand-600);color:var(--brand-600);height:42px;padding:0 var(--sp-4);font-size:var(--text-sm)}.reg-saas__btn--outline:hover{background:var(--brand-50);border-color:var(--brand-600);color:var(--brand-700)}@media(max-width:640px){.reg-saas{padding:var(--sp-3)}.reg-saas__card{border-radius:var(--radius-lg)}.reg-saas__header{padding:var(--sp-6) var(--sp-4) var(--sp-4)}.reg-saas__body{padding:var(--sp-5)}.reg-saas__footer{padding:var(--sp-4);flex-direction:column-reverse;gap:var(--sp-3)}.reg-saas__footer .reg-saas__btn{width:100%}.reg-saas__grid{grid-template-columns:1fr}.reg-saas__grid-col--2{grid-column:span 1}.reg-saas__progress{padding:var(--sp-4) var(--sp-4);overflow-x:auto}.reg-saas__progress-line{width:30px}.reg-saas__plans{grid-template-columns:1fr 1fr}.reg-saas__title{font-size:var(--text-xl)}}@media(max-width:400px){.reg-saas__plans{grid-template-columns:1fr}.reg-saas__progress-label{display:none}}.idle-warning-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:calc(var(--z-modal, 1000) + 100);padding:var(--sp-4);animation:fadeIn .3s ease}.idle-warning-card{background:var(--surface);color:var(--on-surface);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);width:100%;max-width:400px;padding:var(--sp-8);text-align:center;animation:modalSlideIn .25s cubic-bezier(.16,1,.3,1)}.idle-warning-icon{font-size:48px;margin-bottom:var(--sp-4)}.idle-warning-card h2{margin:0 0 var(--sp-2);font-size:var(--text-xl);font-weight:var(--fw-bold)}.idle-warning-card p{margin:0 0 var(--sp-5);color:var(--text-secondary);font-size:var(--text-sm)}op .d-none{display:none!important}.d-flex{display:flex}.d-grid{display:grid}.d-block{display:block}.d-inline{display:inline}.d-inline-flex{display:inline-flex}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.items-start{align-items:flex-start}.items-center{align-items:center}.items-end{align-items:flex-end}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-between{justify-content:space-between}.gap-1{gap:var(--sp-1)}.gap-2{gap:var(--sp-2)}.gap-3{gap:var(--sp-3)}.gap-4{gap:var(--sp-4)}.gap-5{gap:var(--sp-5)}.gap-6{gap:var(--sp-6)}.gap-8{gap:var(--sp-8)}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--sp-4)}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-4)}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-4)}.grid-5{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--sp-4)}@media(max-width:1024px){.grid-4{grid-template-columns:repeat(2,1fr)}.grid-5{grid-template-columns:repeat(3,1fr)}}@media(max-width:768px){.grid-3,.grid-4,.grid-5{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.grid-2,.grid-3,.grid-4,.grid-5{grid-template-columns:1fr}}.m-0{margin:0}.mt-1{margin-top:var(--sp-1)}.mt-2{margin-top:var(--sp-2)}.mt-3{margin-top:var(--sp-3)}.mt-4{margin-top:var(--sp-4)}.mt-6{margin-top:var(--sp-6)}.mt-8{margin-top:var(--sp-8)}.mb-1{margin-bottom:var(--sp-1)}.mb-2{margin-bottom:var(--sp-2)}.mb-3{margin-bottom:var(--sp-3)}.mb-4{margin-bottom:var(--sp-4)}.mb-6{margin-bottom:var(--sp-6)}.mb-8{margin-bottom:var(--sp-8)}.p-4{padding:var(--sp-4)}.p-5{padding:var(--sp-5)}.p-6{padding:var(--sp-6)}.px-4{padding-right:var(--sp-4);padding-left:var(--sp-4)}.py-4{padding-top:var(--sp-4);padding-bottom:var(--sp-4)}.w-full{width:100%}.w-auto{width:auto}.min-w-0{min-width:0}.text-xs{font-size:var(--text-xs)}.text-sm{font-size:var(--text-sm)}.text-md{font-size:var(--text-md)}.text-lg{font-size:var(--text-lg)}.text-xl{font-size:var(--text-xl)}.text-2xl{font-size:var(--text-2xl)}.font-regular{font-weight:var(--fw-regular)}.font-medium{font-weight:var(--fw-medium)}.font-semibold{font-weight:var(--fw-semibold)}.font-bold{font-weight:var(--fw-bold)}.font-extrabold{font-weight:var(--fw-extrabold)}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-muted{color:var(--text-muted)}.text-brand{color:var(--text-brand)}.text-success{color:var(--success)}.text-warning{color:var(--warning)}.text-danger{color:var(--danger)}.text-white{color:#fff}.text-right{text-align:right}.text-center{text-align:center}.text-left{text-align:left}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.break-word{word-break:break-word}.uppercase{text-transform:uppercase}.bg-surface{background:var(--surface)}.bg-inset{background:var(--surface-inset)}.bg-brand{background:var(--brand-600)}.border{border:1px solid var(--border)}.rounded-sm{border-radius:var(--r-sm)}.rounded-md{border-radius:var(--r-md)}.rounded-lg{border-radius:var(--r-lg)}.rounded-xl{border-radius:var(--r-xl)}.rounded-full{border-radius:var(--r-full)}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.overflow-hidden{overflow:hidden}.overflow-auto{overflow:auto}.cursor-pointer{cursor:pointer}.rtl{direction:rtl}.ltr{direction:ltr}.hidden{display:none!important}.invisible{opacity:0;pointer-events:none}.divider{border:none;border-top:1px solid var(--border);margin:var(--sp-4) 0}@media print{.no-print{display:none!important}}.print-only{display:none}@media print{.print-only{display:block!important}}.animate-fade-in{animation:fadeIn var(--transition-base) both}.animate-slide-up{animation:slideUp var(--transition-base) both}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
