:root{--primary-50: #e6f7ff;--primary-100: #b3e7ff;--primary-200: #80d4ff;--primary-300: #4dc1ff;--primary-400: #26b3ff;--primary-500: #00A1F6;--primary-600: #0091de;--primary-700: #007ec2;--primary-800: #006aa3;--primary-900: #004d75;--accent-50: #faf5ff;--accent-100: #f3e8ff;--accent-200: #e9d5ff;--accent-300: #d8b4fe;--accent-400: #c084fc;--accent-500: #a855f7;--accent-600: #9333ea;--accent-700: #7c3aed;--neutral-25: #fafaf9;--neutral-50: #f8f8f7;--neutral-100: #f3f2f1;--neutral-200: #e8e6e3;--neutral-300: #d6d3cf;--neutral-400: #a8a29e;--neutral-500: #78716c;--neutral-600: #57534e;--neutral-700: #44403c;--neutral-800: #292524;--neutral-900: #1c1917;--success-25: #f0fdf4;--success-50: #ecfdf5;--success-100: #d1fae5;--success-200: #a7f3d0;--success-300: #6ee7b7;--success-400: #34d399;--success-500: #10b981;--success-600: #059669;--success-700: #047857;--warning-25: #fffbeb;--warning-50: #fef3c7;--warning-100: #fde68a;--warning-200: #fcd34d;--warning-300: #fbbf24;--warning-400: #f59e0b;--warning-500: #d97706;--warning-600: #b45309;--warning-700: #92400e;--error-25: #fef2f2;--error-50: #fee2e2;--error-100: #fecaca;--error-200: #fca5a5;--error-300: #f87171;--error-400: #ef4444;--error-500: #dc2626;--error-600: #b91c1c;--error-700: #991b1b;--danger-50: var(--error-50);--danger-100: var(--error-100);--danger-200: var(--error-200);--danger-500: #dc2626;--danger-600: #b91c1c;--danger-700: var(--error-700);--info-50: #eff6ff;--info-100: #dbeafe;--info-500: #3b82f6;--info-600: #2563eb;--info-700: #1d4ed8;--bg-primary: #ffffff;--bg-secondary: var(--neutral-50);--bg-tertiary: var(--neutral-100);--bg-dark: var(--neutral-900);--bg-hover: rgba(0, 0, 0, .02);--surface-primary: var(--bg-primary);--surface-secondary: var(--bg-secondary);--surface-hover: var(--bg-hover);--surface-disabled: var(--neutral-100);--border-subtle: var(--neutral-200);--border-default: var(--neutral-300);--border-hover: var(--neutral-400);--border-primary: var(--neutral-200);--border-secondary: var(--neutral-300);--border-tertiary: var(--neutral-400);--text-primary: var(--neutral-900);--text-secondary: var(--neutral-700);--text-tertiary: var(--neutral-600);--text-quaternary: var(--neutral-500);--text-placeholder: var(--neutral-500);--text-disabled: var(--neutral-400);--text-white: #ffffff;--text-on-primary: #ffffff;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .04);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .06), 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .06), 0 2px 4px -1px rgba(0, 0, 0, .04);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .06), 0 4px 6px -2px rgba(0, 0, 0, .03);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .08), 0 10px 10px -5px rgba(0, 0, 0, .02);--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, .15);--shadow-3xl: 0 35px 60px -15px rgba(0, 0, 0, .2);--shadow-primary: 0 4px 14px -2px rgba(0, 161, 246, .25);--shadow-primary-lg: 0 10px 25px -3px rgba(0, 161, 246, .3);--focus-ring: 0 0 0 3px var(--primary-100), 0 1px 2px rgba(0, 0, 0, .04);--focus-ring-error: 0 0 0 3px var(--error-100), 0 1px 2px rgba(0, 0, 0, .04);--focus-ring-success: 0 0 0 3px var(--success-100), 0 1px 2px rgba(0, 0, 0, .04);--btn-shadow: 0 1px 2px rgba(0, 0, 0, .05), inset 0 1px 0 rgba(255, 255, 255, .1);--btn-shadow-hover: 0 4px 8px rgba(0, 161, 246, .2), inset 0 1px 0 rgba(255, 255, 255, .15);--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-display: "Plus Jakarta Sans", var(--font-family);--text-xs: .75rem;--text-sm: .875rem;--text-md: .9375rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--text-5xl: 3rem;--text-display-sm: clamp(1.5rem, 3vw, 2rem);--text-display-md: clamp(2rem, 4vw, 2.5rem);--text-display-lg: clamp(2.5rem, 5vw, 3.5rem);--leading-none: 1;--leading-tight: 1.25;--leading-snug: 1.375;--leading-normal: 1.5;--leading-relaxed: 1.625;--tracking-tighter: -.03em;--tracking-tight: -.02em;--tracking-normal: 0;--tracking-wide: .02em;--tracking-wider: .04em;--tracking-widest: .08em;--font-regular: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--space-0: 0;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--radius-none: 0;--radius-xs: .25rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.25rem;--radius-full: 9999px;--ease-in-out: cubic-bezier(.4, 0, .2, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-bounce: cubic-bezier(.34, 1.56, .64, 1);--ease-spring: cubic-bezier(.175, .885, .32, 1.275);--duration-instant: 50ms;--duration-fast: .15s;--duration-normal: .2s;--duration-slow: .3s;--duration-slower: .5s;--transition-fast: var(--duration-fast) var(--ease-out);--transition-base: var(--duration-normal) var(--ease-out);--transition-slow: var(--duration-slow) var(--ease-out);--transition-slower: var(--duration-slower) var(--ease-out);--transition-bounce: var(--duration-normal) var(--ease-bounce);--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070;--sidebar-width: 280px;--sidebar-width-collapsed: 80px;--navbar-height: 72px;--container-max: 1280px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px;-webkit-text-size-adjust:100%}body{font-family:var(--font-family);font-weight:var(--font-regular);font-size:var(--text-md);line-height:var(--leading-normal);color:var(--text-primary);background-color:var(--bg-secondary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh}#root{min-height:100vh;display:flex;flex-direction:column}.required{color:var(--error-500, #dc2626);font-weight:700;margin-left:2px}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:var(--font-bold);line-height:var(--leading-tight);color:var(--text-primary);margin:0}h1{font-size:var(--text-4xl);letter-spacing:var(--tracking-tight);font-weight:800}h2{font-size:var(--text-3xl);letter-spacing:var(--tracking-tight)}h3{font-size:var(--text-2xl);letter-spacing:-.01em}h4{font-size:var(--text-xl);font-weight:var(--font-semibold)}h5{font-size:var(--text-lg);font-weight:var(--font-semibold)}h6{font-size:var(--text-base);font-weight:var(--font-semibold)}.section-label{font-size:11px;font-weight:var(--font-semibold);letter-spacing:var(--tracking-widest);text-transform:uppercase;color:var(--text-quaternary)}.display-text{font-family:var(--font-display);font-weight:800;letter-spacing:var(--tracking-tighter);line-height:var(--leading-none)}p{margin:0;color:var(--text-tertiary)}a{color:var(--primary-600);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--primary-700)}::selection{background:var(--primary-100);color:var(--primary-900)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:10px 18px;font-family:var(--font-family);font-size:var(--text-sm);font-weight:var(--font-medium);line-height:1.43;border-radius:var(--radius-lg);border:1px solid transparent;cursor:pointer;transition:transform var(--duration-instant) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out);text-decoration:none;white-space:nowrap;-webkit-user-select:none;user-select:none;position:relative}.btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn:active:not(:disabled){transform:scale(.98)}.btn-primary{background:linear-gradient(180deg,var(--primary-500) 0%,var(--primary-600) 100%);color:var(--text-white);border-color:var(--primary-600);box-shadow:var(--btn-shadow),0 1px 3px #00a1f633}.btn-primary:hover:not(:disabled){background:linear-gradient(180deg,var(--primary-400) 0%,var(--primary-500) 100%);border-color:var(--primary-500);box-shadow:var(--btn-shadow-hover);transform:translateY(-1px)}.btn-primary:active:not(:disabled){background:var(--primary-600);box-shadow:inset 0 2px 4px #0000001a;transform:translateY(0) scale(.98)}.btn-secondary{background:var(--bg-primary);color:var(--text-secondary);border-color:var(--border-default);box-shadow:var(--shadow-xs)}.btn-secondary:hover:not(:disabled){background:var(--bg-secondary);border-color:var(--border-hover);color:var(--text-primary);box-shadow:var(--shadow-sm)}.btn-secondary:active:not(:disabled){background:var(--neutral-100);box-shadow:inset 0 1px 2px #0000000f}.btn-success{background:linear-gradient(180deg,var(--success-500) 0%,var(--success-600) 100%);color:var(--text-white);border-color:var(--success-600);box-shadow:var(--shadow-xs),0 1px 3px #10b98133}.btn-success:hover:not(:disabled){background:linear-gradient(180deg,var(--success-400) 0%,var(--success-500) 100%);box-shadow:0 4px 12px #10b98140;transform:translateY(-1px)}.btn-success:active:not(:disabled){background:var(--success-600);transform:translateY(0) scale(.98)}.btn-danger{background:linear-gradient(180deg,var(--error-500) 0%,var(--error-600) 100%);color:var(--text-white);border-color:var(--error-600);box-shadow:var(--shadow-xs),0 1px 3px #dc262633}.btn-danger:hover:not(:disabled){background:linear-gradient(180deg,var(--error-400) 0%,var(--error-500) 100%);box-shadow:0 4px 12px #dc262640;transform:translateY(-1px)}.btn-danger:active:not(:disabled){background:var(--error-600);transform:translateY(0) scale(.98)}.btn-ghost{background:transparent;color:var(--text-tertiary);border-color:transparent}.btn-ghost:hover:not(:disabled){background:var(--neutral-100);color:var(--text-secondary)}.btn-outline{background:transparent;color:var(--primary-600);border-color:var(--primary-300)}.btn-outline:hover:not(:disabled){background:var(--primary-50);border-color:var(--primary-400)}.btn-sm{padding:6px 12px;font-size:var(--text-xs);border-radius:var(--radius-md)}.btn-lg{padding:12px 20px;font-size:var(--text-base)}.btn-xl{padding:14px 28px;font-size:var(--text-base);border-radius:var(--radius-xl)}.btn-icon{padding:10px;width:40px;height:40px}.btn-icon.btn-sm{padding:6px;width:32px;height:32px}@media (max-width: 768px){.btn{min-height:44px;padding:10px 16px}.btn-sm{min-height:36px;padding:6px 12px}.btn-icon{min-width:44px;min-height:44px}.btn-icon.btn-sm{min-width:36px;min-height:36px}}@media (hover: none) and (pointer: coarse){.btn:hover:not(:disabled){transform:none}.btn:active:not(:disabled){transform:scale(.98)}.btn-primary:hover:not(:disabled){transform:none;background:linear-gradient(180deg,var(--primary-500) 0%,var(--primary-600) 100%);box-shadow:var(--btn-shadow)}.btn-primary:active:not(:disabled){background:var(--primary-600);transform:scale(.98)}.btn-secondary:hover:not(:disabled){background:var(--bg-primary);border-color:var(--border-default);box-shadow:var(--shadow-xs)}.btn-secondary:active:not(:disabled){background:var(--bg-secondary);border-color:var(--border-hover)}}.form-group{margin-bottom:var(--space-5)}.form-field{display:flex;flex-direction:column;gap:var(--space-2)}.form-field+.form-field{margin-top:var(--space-5)}.form-label{display:flex;align-items:center;gap:var(--space-1);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-primary);margin-bottom:var(--space-2)}.form-label-required{color:var(--error-500)}.form-label-optional{font-weight:var(--font-regular);color:var(--text-quaternary);font-size:var(--text-xs)}.form-input,.form-select,.form-textarea{width:100%;padding:10px 14px;font-family:var(--font-family);font-size:var(--text-sm);font-weight:var(--font-regular);line-height:1.5;color:var(--text-primary);background:var(--bg-primary);border:1px solid var(--border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out)}.form-input:hover:not(:focus):not(:disabled),.form-select:hover:not(:focus):not(:disabled),.form-textarea:hover:not(:focus):not(:disabled){border-color:var(--border-hover)}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--primary-500);box-shadow:var(--focus-ring);background:var(--bg-primary)}.form-input::placeholder{color:var(--text-placeholder)}.form-input:disabled,.form-select:disabled,.form-textarea:disabled{background:var(--surface-disabled);color:var(--text-disabled);cursor:not-allowed;border-color:var(--border-subtle)}.form-input--error,.form-input.error{border-color:var(--error-500);background:var(--error-25)}.form-input--error:focus,.form-input.error:focus{box-shadow:var(--focus-ring-error)}.form-input--success,.form-input.success{border-color:var(--success-500)}.form-input--success:focus,.form-input.success:focus{box-shadow:var(--focus-ring-success)}.form-hint{margin-top:var(--space-1);font-size:var(--text-xs);color:var(--text-quaternary);display:flex;align-items:center;gap:var(--space-1)}.form-error{margin-top:var(--space-1);font-size:var(--text-xs);color:var(--error-600);display:flex;align-items:center;gap:var(--space-1);animation:shakeError .3s ease-in-out}@keyframes shakeError{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.validation-error-banner{display:flex;gap:var(--space-3);padding:var(--space-4);background:var(--error-50);border:1px solid var(--error-200);border-radius:var(--radius-lg);color:var(--error-700);margin-bottom:var(--space-5);animation:shakeError .3s ease-in-out}.validation-error-banner svg{flex-shrink:0;color:var(--error-500);margin-top:2px}.validation-error-banner .validation-error-content{flex:1}.validation-error-banner .validation-error-title{font-size:var(--text-sm);font-weight:var(--font-semibold);margin-bottom:var(--space-2)}.validation-error-banner .validation-error-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-1)}.validation-error-banner .validation-error-list li{font-size:var(--text-xs);color:var(--error-600);display:flex;align-items:center;gap:var(--space-2)}.validation-error-banner .validation-error-list li:before{content:"•";color:var(--error-400);font-weight:700}.validation-error-banner .validation-error-dismiss{background:none;border:none;color:var(--error-400);font-size:1.25rem;cursor:pointer;padding:0;line-height:1;align-self:flex-start}.validation-error-banner .validation-error-dismiss:hover{color:var(--error-600)}.field-hint{font-size:var(--text-xs);color:var(--text-tertiary);margin-bottom:var(--space-2);line-height:1.4}.field-footer{display:flex;justify-content:space-between;align-items:center;margin-top:var(--space-1)}.char-count{font-size:var(--text-xs);color:var(--text-quaternary);margin-left:auto}.field-error{margin-top:var(--space-1);font-size:var(--text-xs);color:var(--error-500);animation:shakeError .3s ease-in-out}.form-input.input-error,.form-textarea.input-error,.form-select.input-error{border-color:var(--error-400)!important;background:var(--error-25)!important}.form-input.input-error:focus,.form-textarea.input-error:focus,.form-select.input-error:focus{box-shadow:var(--focus-ring-error)!important}.input-with-prefix.input-error{border-color:var(--error-400)!important;background:var(--error-25)!important}.input-with-prefix.input-error:focus-within{box-shadow:var(--focus-ring-error)!important}.form-group-error{border-left:3px solid var(--error-400);padding-left:10px;border-radius:0 4px 4px 0;background:#ef444408;scroll-margin-top:80px}.form-char-count{font-size:var(--text-xs);color:var(--text-quaternary);text-align:right;margin-top:var(--space-1)}.form-char-count--warning{color:var(--warning-600)}.form-char-count--error{color:var(--error-600)}@media (max-width: 768px){.form-input,.form-select,.form-textarea{min-height:44px;padding:12px 14px;font-size:16px}.form-label{font-size:var(--text-xs)}.form-group{margin-bottom:var(--space-4)}.form-field+.form-field{margin-top:var(--space-4)}}@media (max-width: 480px){.form-input,.form-select,.form-textarea{padding:12px}}.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:3px 10px;font-size:11px;font-weight:var(--font-medium);line-height:1.5;border-radius:var(--radius-full);white-space:nowrap;border:1px solid transparent}.badge:before{content:"";width:6px;height:6px;border-radius:var(--radius-full);flex-shrink:0}.badge-primary{background:var(--primary-50);color:var(--primary-700);border-color:var(--primary-200)}.badge-primary:before{background:var(--primary-500)}.badge-success{background:var(--success-50);color:var(--success-700);border-color:var(--success-200)}.badge-success:before{background:var(--success-500)}.badge-warning{background:var(--warning-50);color:var(--warning-700);border-color:var(--warning-200)}.badge-warning:before{background:var(--warning-500);animation:pulse-dot 2s ease-in-out infinite}.badge-error{background:var(--error-50);color:var(--error-700);border-color:var(--error-200)}.badge-error:before{background:var(--error-500)}.badge-info{background:var(--info-50);color:var(--info-700);border-color:var(--info-100)}.badge-info:before{background:var(--info-500)}.badge-neutral{background:var(--neutral-100);color:var(--neutral-600);border-color:var(--neutral-200)}.badge-neutral:before{background:var(--neutral-400)}.badge-accent{background:var(--accent-50);color:var(--accent-700);border-color:var(--accent-200)}.badge-accent:before{background:var(--accent-500)}.badge-purple{background:#f3e8ff;color:#7c3aed;border-color:#ddd6fe}.badge-purple:before{background:#8b5cf6}.badge-no-dot:before{display:none}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.4}}.badge-sm{padding:2px 8px;font-size:10px}.badge-sm:before{width:5px;height:5px}.badge-lg{padding:4px 12px;font-size:var(--text-xs)}.sla-badge{display:inline-flex;align-items:center;font-size:11px;font-weight:600;padding:2px 8px;border-radius:var(--radius-full);white-space:nowrap}.sla-badge.sla-overdue{background:var(--error-100);color:var(--error-700)}.sla-badge.sla-due_soon{background:var(--warning-100);color:var(--warning-800)}.badge-lg:before{width:7px;height:7px}.badge-solid.badge-primary{background:var(--primary-500);color:#fff;border-color:var(--primary-600)}.badge-solid.badge-primary:before{background:#ffffff80}.badge-solid.badge-success{background:var(--success-500);color:#fff;border-color:var(--success-600)}.badge-solid.badge-success:before{background:#ffffff80}.badge-solid.badge-error{background:var(--error-500);color:#fff;border-color:var(--error-600)}.badge-solid.badge-error:before{background:#ffffff80}.badge-secondary{background:var(--neutral-100);color:var(--neutral-600);border-color:var(--neutral-200)}.badge-secondary:before{background:var(--neutral-400)}.badge-danger{background:var(--error-50);color:var(--error-700);border-color:var(--error-200)}.badge-danger:before{background:var(--error-500)}.status-badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-medium);white-space:nowrap}.status-badge.status-secondary,.status-badge.status-neutral{background:var(--neutral-100);color:var(--neutral-700)}.status-badge.status-warning{background:var(--warning-50);color:var(--warning-700)}.status-badge.status-info{background:var(--info-50);color:var(--info-700)}.status-badge.status-success{background:var(--success-50);color:var(--success-700)}.status-badge.status-error{background:var(--error-50);color:var(--error-700)}.status-badge.status-active{background:var(--success-100);color:var(--success-700)}.status-badge.status-inactive{background:var(--neutral-100);color:var(--neutral-500)}.card{background:var(--surface-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);overflow:hidden;box-shadow:0 1px 2px #00000008,0 1px 3px #00000005;transition:box-shadow var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out)}.card-shadow{box-shadow:var(--shadow-sm)}.card-interactive{cursor:pointer}.card-interactive:hover{border-color:var(--border-default);box-shadow:0 4px 6px -1px #0000000f,0 2px 4px -1px #0000000a;transform:translateY(-2px)}.card-interactive:active{transform:translateY(0);box-shadow:var(--shadow-sm)}.card-elevated{box-shadow:var(--shadow-md);border-color:transparent}.card-elevated:hover{box-shadow:var(--shadow-lg)}.card-accent{border-left:3px solid var(--primary-500)}.card-accent-success{border-left:3px solid var(--success-500)}.card-accent-warning{border-left:3px solid var(--warning-500)}.card-accent-error{border-left:3px solid var(--error-500)}.card-section{padding:var(--space-5)}.card-section+.card-section{border-top:1px solid var(--border-subtle)}.card-ghost{background:transparent;border:none;box-shadow:none}.card-outline{background:transparent;box-shadow:none;border:1px solid var(--border-default)}.table-container{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--border-subtle);border-radius:var(--radius-xl);background:var(--surface-primary)}@media (max-width: 768px){.table-container{background-image:linear-gradient(to right,transparent 0,transparent calc(100% - 32px),rgba(0,0,0,.04) 100%);background-position:right;background-repeat:no-repeat;background-attachment:local}}.table{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--text-sm)}.table th{padding:var(--space-3) var(--space-5);text-align:left;font-size:11px;font-weight:var(--font-semibold);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--text-quaternary);background:var(--surface-secondary);border-bottom:1px solid var(--border-subtle);white-space:nowrap;position:sticky;top:0;z-index:1}.table tbody tr{border-bottom:1px solid var(--border-subtle);transition:background-color var(--transition-fast),transform var(--transition-fast)}.table tbody tr:hover{background:var(--bg-secondary)}.table td{padding:var(--space-4) var(--space-5);font-size:var(--text-sm);color:var(--text-secondary);vertical-align:middle;transition:transform var(--transition-fast)}.table tbody tr:last-child{border-bottom:none}.table tbody tr.selected{background:var(--primary-50)}.table tbody tr.selected:hover{background:var(--primary-100)}.table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.table th.sortable:hover{background:var(--neutral-200)}.table--sticky-col td:first-child,.table--sticky-col th:first-child{position:sticky;left:0;background:inherit;box-shadow:2px 0 4px #00000008;z-index:2}.table-compact th,.table-compact td{padding:var(--space-2) var(--space-4)}.td-primary{font-weight:var(--font-medium);color:var(--text-primary)}.td-mono{font-family:SF Mono,Monaco,Inconsolata,monospace;font-size:13px}.td-truncate{max-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sort-icon{display:inline-block;vertical-align:middle;margin-left:var(--space-1);transition:opacity .15s ease}.sort-icon-inactive{opacity:.3}.sort-icon-active{opacity:1;color:var(--primary-600)}th.sortable.sorted{background:var(--primary-50)}@media (max-width: 768px){.table th{padding:var(--space-2) var(--space-3);font-size:10px}.table td{padding:var(--space-3);font-size:var(--text-xs)}.table-compact th,.table-compact td{padding:var(--space-2)}.td-truncate{max-width:120px}}@media (max-width: 480px){.table th{padding:var(--space-2);font-size:9px}.table td{padding:var(--space-2);font-size:11px}.td-truncate{max-width:80px}}.avatar{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-full);background:var(--primary-100);color:var(--primary-700);font-weight:var(--font-semibold);font-size:var(--text-sm);flex-shrink:0}.avatar-sm{width:32px;height:32px;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)}.avatar img{width:100%;height:100%;object-fit:cover;border-radius:var(--radius-full)}.avatar-status{position:relative}.avatar-status:after{content:"";position:absolute;bottom:0;right:0;width:10px;height:10px;border-radius:var(--radius-full);border:2px solid var(--bg-primary);background:var(--success-500)}.container{width:100%;max-width:var(--container-max);margin:0 auto;padding:0 var(--space-6)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.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)}.font-medium{font-weight:var(--font-medium)}.font-semibold{font-weight:var(--font-semibold)}.font-bold{font-weight:var(--font-bold)}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-tertiary{color:var(--text-tertiary)}.text-quaternary{color:var(--text-quaternary)}.flex{display:flex}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.flex-1{flex:1}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-5{gap:var(--space-5)}.gap-6{gap:var(--space-6)}.gap-8{gap:var(--space-8)}.grid{display:grid}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}.p-0{padding:0}.p-2{padding:var(--space-2)}.p-3{padding:var(--space-3)}.p-4{padding:var(--space-4)}.p-5{padding:var(--space-5)}.p-6{padding:var(--space-6)}.px-4{padding-left:var(--space-4);padding-right:var(--space-4)}.py-4{padding-top:var(--space-4);padding-bottom:var(--space-4)}.m-0{margin:0}.m-4{margin:var(--space-4)}.mb-1{margin-bottom:var(--space-1)}.mb-2{margin-bottom:var(--space-2)}.mb-3{margin-bottom:var(--space-3)}.mb-4{margin-bottom:var(--space-4)}.mb-5{margin-bottom:var(--space-5)}.mb-6{margin-bottom:var(--space-6)}.mb-8{margin-bottom:var(--space-8)}.mt-2{margin-top:var(--space-2)}.mt-4{margin-top:var(--space-4)}.mt-6{margin-top:var(--space-6)}.hidden{display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.spinner,.spinning,.spin{animation:spin 1s linear infinite}.page-loader{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:40vh;gap:12px;color:var(--neutral-400)}.page-loader-text{font-size:14px;color:var(--neutral-500);margin:0}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes pageEnter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes staggerIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes successPop{0%{transform:scale(0)}50%{transform:scale(1.2)}to{transform:scale(1)}}@keyframes toastEnter{0%{opacity:0;transform:translateY(-8px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.animate-fadeIn{animation:fadeIn var(--duration-normal) var(--ease-out) both;opacity:1}.animate-slideUp{animation:slideUp var(--duration-normal) var(--ease-out) both;opacity:1}.animate-slideDown{animation:slideDown var(--duration-normal) var(--ease-out) both;opacity:1}.animate-scaleIn{animation:scaleIn var(--duration-normal) var(--ease-out) both;opacity:1}.animate-spin{animation:spin 1s linear infinite}.animate-pulse{animation:pulse 2s ease-in-out infinite}.animate-float{animation:float 3s ease-in-out infinite}.page-enter{animation:pageEnter var(--duration-normal) var(--ease-out)}.stagger-item{opacity:0;transform:translateY(8px);animation:staggerIn var(--duration-normal) var(--ease-out) forwards}.stagger-item:nth-child(1){animation-delay:0ms}.stagger-item:nth-child(2){animation-delay:50ms}.stagger-item:nth-child(3){animation-delay:.1s}.stagger-item:nth-child(4){animation-delay:.15s}.stagger-item:nth-child(5){animation-delay:.2s}.stagger-item:nth-child(6){animation-delay:.25s}.delay-75{animation-delay:75ms}.delay-100{animation-delay:.1s}.delay-150{animation-delay:.15s}.delay-200{animation-delay:.2s}.delay-300{animation-delay:.3s}.skeleton{background:linear-gradient(110deg,var(--bg-secondary) 8%,var(--surface-secondary) 18%,var(--bg-secondary) 33%);background-size:200% 100%;animation:pulseLoader 2s ease-in-out infinite}@keyframes pulseLoader{0%{background-position:200% 0;opacity:.8}50%{opacity:1}to{background-position:-200% 0;opacity:.8}}.skeleton-text{height:1em;margin-bottom:.5em;border-radius:var(--radius-xs)}.skeleton-text:last-child{width:60%}.skeleton-avatar{width:40px;height:40px;border-radius:var(--radius-full)}.skeleton-avatar-sm{width:32px;height:32px;border-radius:var(--radius-full)}.skeleton-avatar-lg{width:48px;height:48px;border-radius:var(--radius-full)}.skeleton-card{height:120px;border-radius:var(--radius-lg)}.skeleton-button{height:40px;width:100px;border-radius:var(--radius-md)}.skeleton-badge{height:22px;width:80px;border-radius:var(--radius-full)}.toast{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-4);background:var(--surface-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:0 10px 40px -10px #00000026,0 4px 12px #0000000f;animation:toastEnter var(--duration-normal) var(--ease-spring);max-width:400px}.toast-success{border-left:3px solid var(--success-500)}.toast-error{border-left:3px solid var(--error-500)}.toast-warning{border-left:3px solid var(--warning-500)}.toast-info{border-left:3px solid var(--primary-500)}.toast-icon{flex-shrink:0;width:20px;height:20px}.toast-title{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-primary);margin-bottom:2px}.toast-message{font-size:var(--text-sm);color:var(--text-tertiary)}.toast-close{flex-shrink:0;width:20px;height:20px;color:var(--text-quaternary);cursor:pointer;transition:color var(--duration-fast) var(--ease-out)}.toast-close:hover{color:var(--text-secondary)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--neutral-300);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--neutral-400)}*{scrollbar-width:thin;scrollbar-color:var(--neutral-300) transparent}@media (max-width: 1280px){:root{--sidebar-width: 260px}}@media (max-width: 1024px){.grid-cols-4,.grid-cols-3{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){:root{--navbar-height: 64px}.grid-cols-4,.grid-cols-3,.grid-cols-2{grid-template-columns:1fr}h1{font-size:var(--text-3xl)}h2{font-size:var(--text-2xl)}.container{padding:0 var(--space-4)}.hidden-mobile{display:none!important}}@media (max-width: 480px){.container{padding:0 var(--space-3)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.skeleton{animation:none;background:var(--neutral-200)}}.skip-link{position:absolute;top:-100%;left:var(--space-4);padding:var(--space-3) var(--space-4);background:var(--surface-primary);border:2px solid var(--primary-500);border-radius:var(--radius-md);font-weight:var(--font-medium);color:var(--primary-700);z-index:9999;transition:top var(--duration-fast) var(--ease-out)}.skip-link:focus{top:var(--space-4)}:focus-visible{outline:2px solid var(--primary-500);outline-offset:2px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.export-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-weight:500;border-radius:8px;cursor:pointer;transition:color .2s ease,background-color .2s ease,border-color .2s ease,box-shadow .2s ease,opacity .2s ease,transform .2s ease;border:none;white-space:nowrap}.export-btn:disabled,.export-btn-disabled{opacity:.6;cursor:not-allowed}.export-btn-loading{cursor:wait}.export-btn-sm{padding:.375rem .75rem;font-size:.8rem}.export-btn-md{padding:.5rem 1rem;font-size:.875rem}.export-btn-lg{padding:.75rem 1.25rem;font-size:1rem}.export-btn-primary{background:var(--primary-color, #3b82f6);color:#fff}.export-btn-primary:hover:not(:disabled){background:var(--primary-dark, #2563eb)}.export-btn-outline{background:transparent;border:1px solid var(--border-color, #e5e7eb);color:var(--text-primary, #374151)}.export-btn-outline:hover:not(:disabled){background:var(--bg-secondary, #f9fafb);border-color:var(--primary-color, #3b82f6);color:var(--primary-color, #3b82f6)}.export-btn-icon{padding:.5rem;background:transparent;border:1px solid var(--border-color, #e5e7eb);color:var(--text-secondary, #6b7280);border-radius:6px}.export-btn-icon:hover:not(:disabled){background:var(--bg-secondary, #f9fafb);color:var(--primary-color, #3b82f6);border-color:var(--primary-color, #3b82f6)}.export-btn-success{background:var(--success-color, #10b981)!important;border-color:var(--success-color, #10b981)!important;color:#fff!important}.export-btn-error{background:var(--error-color, #ef4444)!important;border-color:var(--error-color, #ef4444)!important;color:#fff!important}.export-btn .spin{animation:export-spin 1s linear infinite}@keyframes export-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 768px){.filter-group select,.filter-group input,.filter-select,.search-box input,.search-bar input{min-height:44px;font-size:16px}.action-btn,.btn-icon{min-width:44px;min-height:44px}}body.standalone{-webkit-user-select:none;user-select:auto}body.standalone .navbar{padding-top:env(safe-area-inset-top,0px)}.update-prompt{bottom:calc(1rem + env(safe-area-inset-bottom,0px))}@media print{.navbar,.sidebar,.sidebar-overlay,.skip-link,.loading-bar,.toast-container,.pwa-install-prompt,.offline-indicator,.update-prompt,.session-timeout-overlay,.filter-bar,.pagination,.page-header-actions,.btn-component,.btn-icon-only,.table-actions{display:none!important}.main-content{margin-left:0!important;padding:0!important}.main-layout{display:block!important}.table-container{border:none!important;overflow:visible!important}.table{font-size:10pt!important}.table th{background:#f3f4f6!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.table tbody tr:hover{background:none!important}.content-card{page-break-inside:avoid}.content-card,.stats-card{box-shadow:none!important;border:1px solid #d1d5db!important}.page-header-content h1{font-size:16pt!important}}@media (max-width: 768px){.table .td-hide-mobile,.table .th-hide-mobile{display:none}}@media (max-width: 480px){.table .td-hide-xs,.table .th-hide-xs{display:none}}#splash-screen{display:none!important}.table-refetching{opacity:.6;pointer-events:none;transition:opacity .15s ease}tr.row-click-target{cursor:pointer;transition:background-color .12s ease}tr.row-click-target:hover{background-color:var(--neutral-50, #f9fafb)}.skeleton{background:var(--bg-tertiary, #f1f5f9);animation:skeletonPulse 1.5s ease-in-out infinite;border-radius:var(--radius-sm, 4px)}.skeleton-text{display:block;border-radius:var(--radius-sm, 4px)}.skeleton-text-group{display:flex;flex-direction:column}.skeleton-avatar{border-radius:50%;flex-shrink:0}.skeleton-card{display:flex;flex-direction:column;background:var(--bg-primary, #ffffff);border-radius:var(--radius-lg, 12px);border:1px solid var(--border-primary, #e2e8f0);overflow:hidden}.skeleton-card-image{border-radius:0}.skeleton-card-content{padding:1rem;display:flex;flex-direction:column;gap:.75rem}.skeleton-stat{background:var(--bg-primary, #ffffff);border-radius:var(--radius-lg, 12px);border:1px solid var(--border-primary, #e2e8f0);padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.skeleton-stat-header{display:flex;align-items:center;gap:.75rem}.skeleton-stat-icon{border-radius:var(--radius-md, 8px)}.skeleton-table{width:100%;border-collapse:collapse}.skeleton-table th,.skeleton-table td{padding:.75rem 1rem;text-align:left}.skeleton-table thead th{border-bottom:1px solid var(--border-primary, #e2e8f0)}.skeleton-table-row td{border-bottom:1px solid var(--border-secondary, #f1f5f9)}.skeleton-list-item{display:flex;align-items:center;gap:1rem;padding:1rem;border-bottom:1px solid var(--border-secondary, #f1f5f9)}.skeleton-list-content{flex:1;display:flex;flex-direction:column;gap:.5rem}.skeleton-dashboard{display:flex;flex-direction:column;gap:2rem;padding:1rem}.skeleton-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem}.skeleton-dashboard-content{display:flex;flex-direction:column;gap:2rem}.skeleton-section{display:flex;flex-direction:column;gap:1rem}.skeleton-form{display:flex;flex-direction:column;gap:1.5rem;max-width:600px}.skeleton-form-field{display:flex;flex-direction:column;gap:.5rem}.skeleton-form-actions{display:flex;gap:1rem;margin-top:1rem}.skeleton-pulse{animation:skeletonPulse 1.5s ease-in-out infinite}@keyframes skeletonPulse{0%,to{opacity:1}50%{opacity:.5}}.skeleton-page{display:flex;flex-direction:column;gap:var(--space-6, 1.5rem);max-width:1400px;margin:0 auto;width:100%;animation:skeletonFadeIn .15s ease-out}.skeleton-page.skeleton-page-wide{max-width:1600px}@keyframes skeletonFadeIn{0%{opacity:0}to{opacity:1}}.skeleton-page-header-row{display:flex;justify-content:space-between;align-items:center;gap:1rem}.skeleton-page-header-left{display:flex;flex-direction:column;gap:.375rem}.skeleton-header-btns{display:flex;align-items:center;gap:.5rem}.skeleton-stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-4, 1rem)}.skeleton-stat-mini{display:flex;align-items:center;gap:var(--space-4, 1rem);padding:var(--space-5, 1.25rem);background:var(--bg-primary, #ffffff);border-radius:var(--radius-xl, 16px);border:1px solid var(--border-primary, #e2e8f0)}.skeleton-stat-mini-icon{border-radius:var(--radius-lg, 12px);flex-shrink:0}.skeleton-stat-mini-info{display:flex;flex-direction:column;gap:.375rem;min-width:0}.skeleton-filter-bar{display:flex;align-items:center;gap:var(--space-3, .75rem);flex-wrap:wrap}.skeleton-table-card{background:var(--bg-primary, #ffffff);border-radius:var(--radius-xl, 16px);border:1px solid var(--border-primary, #e2e8f0);overflow:hidden}.skeleton-cards-list{display:flex;flex-direction:column;gap:var(--space-4, 1rem)}.skeleton-approval-card{background:var(--bg-primary, #ffffff);border-radius:var(--radius-xl, 16px);border:1px solid var(--border-primary, #e2e8f0);padding:var(--space-4, 1rem) var(--space-5, 1.25rem)}.skeleton-approval-card-header{display:flex;align-items:center;gap:var(--space-4, 1rem)}.skeleton-stats-inline{display:flex;gap:var(--space-6, 1.5rem);padding:var(--space-4, 1rem);background:var(--bg-secondary, #f8fafc);border-radius:var(--radius-lg, 12px);border:1px solid var(--border-primary, #e2e8f0)}.skeleton-stat-inline-item{display:flex;flex-direction:column;gap:var(--space-1, .25rem);padding-right:var(--space-6, 1.5rem);border-right:1px solid var(--border-primary, #e2e8f0)}.skeleton-stat-inline-item:last-child{border-right:none}.skeleton-pagination{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4, 1rem);background:var(--bg-primary, #ffffff);border-radius:var(--radius-lg, 12px);border:1px solid var(--border-primary, #e2e8f0)}.skeleton-page-main{background:var(--bg-primary, #ffffff);border-radius:var(--radius-lg, 12px);padding:1.5rem;border:1px solid var(--border-primary, #e2e8f0)}.skeleton-page-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1rem}.skeleton-page-card{background:var(--bg-primary, #ffffff);border-radius:var(--radius-lg, 12px);border:1px solid var(--border-primary, #e2e8f0);padding:1.25rem;display:flex;flex-direction:column;gap:.75rem}.skeleton-page-form{background:var(--bg-primary, #ffffff);border-radius:var(--radius-lg, 12px);border:1px solid var(--border-primary, #e2e8f0);padding:2rem;max-width:800px;display:flex;flex-direction:column;gap:1.5rem}.skeleton-form-header{display:flex;align-items:center;gap:.75rem}.skeleton-step-indicator{display:flex;justify-content:center;gap:2rem;padding:1rem 0}.skeleton-step{display:flex;flex-direction:column;align-items:center;gap:.5rem}.skeleton-step-circle{border-radius:50%}.skeleton-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem;margin-top:1rem}.skeleton-dashboard-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:var(--space-6, 1.5rem)}.skeleton-quick-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4, 1rem)}.skeleton-action-card{background:var(--bg-primary, #ffffff);border-radius:var(--radius-lg, 12px);border:1px solid var(--border-primary, #e2e8f0);padding:1.25rem;display:flex;flex-direction:column;gap:.5rem}.skeleton-filter-tabs{display:flex;gap:.5rem}@media (max-width: 1280px){.skeleton-stats-row{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.skeleton-stats-grid{grid-template-columns:repeat(2,1fr)}.skeleton-stat{padding:1rem}.skeleton-stats-row{grid-template-columns:repeat(2,1fr)}.skeleton-page-header-row{flex-direction:column;align-items:flex-start}.skeleton-form-grid,.skeleton-dashboard-grid,.skeleton-quick-actions{grid-template-columns:1fr}.skeleton-stats-inline{flex-wrap:wrap}.skeleton-stat-inline-item{flex:1;min-width:100px}}@media (max-width: 480px){.skeleton-stats-grid,.skeleton-stats-row{grid-template-columns:1fr}}.app{min-height:100vh}.auth-loading-screen{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#fff;z-index:9999}.auth-loading-spinner{width:40px;height:40px;border:3px solid #f1f5f9;border-top-color:#3b82f6;border-radius:50%;animation:auth-spin .8s linear infinite}@keyframes auth-spin{to{transform:rotate(360deg)}}.help-btn{position:relative;display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;background:transparent;border-radius:var(--radius-md);color:var(--text-tertiary);cursor:pointer;transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast),transform var(--transition-fast)}.help-btn:hover{background:var(--bg-secondary);color:var(--primary-600)}.help-btn:active{transform:scale(.95)}.help-btn-badge{position:absolute;top:4px;right:4px;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:var(--font-semibold, 600);color:var(--text-white, #ffffff);background:var(--primary-500, #0ea5e9);border-radius:var(--radius-full, 9999px);display:flex;align-items:center;justify-content:center;border:2px solid var(--bg-primary, #ffffff);line-height:1}.navbar{position:fixed;top:0;left:0;right:0;padding-top:env(safe-area-inset-top,0px);padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px);height:calc(var(--navbar-height) + env(safe-area-inset-top,0px));background:var(--bg-primary);border-bottom:1px solid var(--border-primary);z-index:var(--z-fixed)}.navbar-container{display:flex;align-items:center;height:100%;padding:0 var(--space-6);gap:var(--space-4)}.mobile-menu-btn{display:none;align-items:center;justify-content:center;width:40px;height:40px;border:none;background:transparent;border-radius:var(--radius-md);color:var(--text-tertiary);cursor:pointer;transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast),transform var(--transition-fast);flex-shrink:0}.mobile-menu-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.navbar-logo{display:flex;align-items:center;flex-shrink:0}.logo-image{height:52px;width:auto;object-fit:contain;filter:drop-shadow(0 1px 3px rgba(0,0,0,.15)) drop-shadow(0 1px 2px rgba(0,0,0,.1));image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges}.navbar-search{flex:1;max-width:480px;position:relative;display:flex;align-items:center;gap:10px;padding:10px 18px;background:var(--bg-secondary);border:1px solid transparent;border-radius:var(--radius-lg);cursor:pointer;transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast),transform var(--transition-fast)}.navbar-search:hover{border-color:var(--border-secondary);background:var(--bg-primary)}.navbar-search:focus{outline:none;background:var(--bg-primary);border-color:var(--primary-300);box-shadow:var(--focus-ring)}.navbar-search .search-icon{position:static;flex:0 0 18px;width:18px!important;height:18px!important;color:var(--text-placeholder);pointer-events:none}.search-placeholder{flex:1;font-size:var(--text-sm);font-weight:var(--font-regular);color:var(--text-placeholder);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-input{width:100%;padding:10px 80px 10px 42px;font-size:var(--text-sm);font-weight:var(--font-regular);background:var(--bg-secondary);border:1px solid transparent;border-radius:var(--radius-lg);color:var(--text-primary);transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast),transform var(--transition-fast)}.search-input:hover{border-color:var(--border-secondary)}.search-input:focus{outline:none;background:var(--bg-primary);border-color:var(--primary-300);box-shadow:var(--focus-ring)}.search-shortcut{flex-shrink:0;display:flex;align-items:center;gap:4px;padding:4px 8px;font-size:11px;font-family:var(--font-family);font-weight:var(--font-medium);background:var(--bg-primary);border:1px solid var(--border-secondary);border-radius:var(--radius-sm);color:var(--text-quaternary)}.navbar-right{display:flex;align-items:center;gap:var(--space-2);margin-left:auto}.refresh-mainframe-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;background:transparent;border-radius:var(--radius-md);color:var(--text-tertiary);cursor:pointer;transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast),transform var(--transition-fast)}.mobile-search-btn{display:none;align-items:center;justify-content:center;width:36px;height:36px;border:none;background:transparent;border-radius:var(--radius-md);color:var(--text-tertiary);cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast)}.mobile-search-btn:hover,.mobile-search-btn:focus-visible{background:var(--bg-secondary);color:var(--primary-600)}.mobile-search-btn:active{transform:scale(.95)}.refresh-mainframe-btn:hover{background:var(--bg-secondary);color:var(--primary-600)}.refresh-mainframe-btn:active{transform:scale(.95)}.refresh-mainframe-btn.refreshing svg{animation:spin .6s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(-360deg)}}.role-badge{display:flex;align-items:center;gap:var(--space-2);padding:6px 12px;font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--primary-700);background:var(--primary-50);border-radius:var(--radius-full);text-decoration:none;transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast),transform var(--transition-fast);white-space:nowrap}.role-badge:hover{background:var(--primary-100)}.role-dot{width:8px;height:8px;background:var(--primary-500);border-radius:var(--radius-full);flex-shrink:0}.navbar-icon-btn{position:relative;display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:transparent;border:none;border-radius:var(--radius-md);color:var(--text-tertiary);cursor:pointer;transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast),transform var(--transition-fast)}.navbar-icon-btn:hover{background:var(--bg-secondary);color:var(--text-secondary)}.navbar-icon-btn svg{width:20px;height:20px}.notification-badge{position:absolute;top:6px;right:6px;min-width:18px;height:18px;padding:0 5px;font-size:11px;font-weight:var(--font-semibold);color:var(--text-white);background:var(--error-500);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;border:2px solid var(--bg-primary)}.navbar-dropdown{position:relative}.dropdown-menu{position:absolute;top:calc(100% + 8px);right:0;min-width:320px;background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);overflow:hidden;animation:dropdownSlideIn var(--transition-fast) ease}@keyframes dropdownSlideIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.dropdown-backdrop{display:none}.navbar-icon-btn.active{background:var(--primary-50);color:var(--primary-600)}.dropdown-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-primary)}.dropdown-header h4{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-primary)}.mark-all-read{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--primary-600);background:none;border:none;cursor:pointer;padding:0}.mark-all-read:hover{color:var(--primary-700)}.notifications-menu{width:380px;max-width:calc(100vw - 32px)}.notifications-list{max-height:360px;overflow-y:auto}.notification-item{display:flex;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-primary);cursor:pointer;transition:background var(--transition-fast)}.notification-item:last-child{border-bottom:none}.notification-item:hover{background:var(--bg-secondary)}.notification-item.unread{background:var(--primary-25, #F9FAFF)}.notification-item.unread:hover{background:var(--primary-50)}.notification-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);background:var(--bg-secondary);color:var(--text-tertiary);flex-shrink:0}.notification-content{flex:1;min-width:0}.notification-title{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-primary);margin-bottom:2px}.notification-message{font-size:var(--text-sm);color:var(--text-tertiary);margin-bottom:4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.notification-time{font-size:var(--text-xs);color:var(--text-quaternary)}.dropdown-footer{padding:var(--space-3) var(--space-5);border-top:1px solid var(--border-primary);text-align:center;background:var(--bg-secondary)}.view-all-btn{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--primary-600);background:none;border:none;cursor:pointer;padding:0}.view-all-btn:hover{color:var(--primary-700)}.user-menu-btn{display:flex;align-items:center;gap:var(--space-2);padding:6px 10px 6px 6px;background:transparent;border:1px solid var(--border-primary);border-radius:var(--radius-lg);cursor:pointer;transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast),transform var(--transition-fast)}.user-menu-btn:hover{background:var(--bg-secondary);border-color:var(--border-secondary)}.user-menu-btn.active{background:var(--primary-50);border-color:var(--primary-200)}.user-avatar{width:32px;height:32px;background:var(--primary-100);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;color:var(--primary-700);font-size:var(--text-sm);font-weight:var(--font-semibold)}.user-name{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-secondary);max-width:120px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chevron{color:var(--text-quaternary);transition:transform var(--transition-fast);flex-shrink:0}.chevron.rotated{transform:rotate(180deg)}.user-dropdown{width:280px}.user-info{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-primary)}.user-avatar-lg{width:44px;height:44px;background:var(--primary-100);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;color:var(--primary-700);font-weight:var(--font-semibold);font-size:var(--text-md);flex-shrink:0}.user-details{flex:1;min-width:0}.user-fullname{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-primary);margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-email{font-size:var(--text-sm);color:var(--text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dropdown-divider{height:1px;background:var(--border-primary);margin:var(--space-2) 0}.dropdown-section{padding:var(--space-2) 0}.dropdown-item{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:10px var(--space-5);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-tertiary);background:none;border:none;cursor:pointer;text-decoration:none;transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast),transform var(--transition-fast)}.dropdown-item:hover{background:var(--bg-secondary);color:var(--text-secondary)}.dropdown-item:focus-visible{outline:none;background:var(--primary-50);color:var(--primary-700)}.dropdown-item svg{width:18px;height:18px;color:var(--text-quaternary)}.dropdown-item.danger{color:var(--error-600)}.dropdown-item.danger:hover{background:var(--error-50)}.dropdown-item.danger svg{color:var(--error-500)}@media (max-width: 1024px){.navbar-container{padding:0 var(--space-4)}.navbar-search{max-width:320px}.search-shortcut,.user-name{display:none}}@media (max-width: 768px){.mobile-menu-btn{display:flex}.navbar-container{padding:0 var(--space-4);gap:var(--space-3)}.navbar-search{display:none}.mobile-search-btn{display:inline-flex}.role-badge .role-text{display:none}.role-badge{padding:6px 10px}.user-menu-btn{padding:4px;border:none;background:transparent}.user-menu-btn:hover{background:var(--bg-secondary)}.user-menu-btn.active{background:var(--primary-50)}.chevron{display:none}.dropdown-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:9998;animation:backdropFadeIn .2s ease}@keyframes backdropFadeIn{0%{opacity:0}to{opacity:1}}.dropdown-menu.notifications-menu,.dropdown-menu.user-dropdown{position:fixed!important;top:auto!important;bottom:0!important;left:0!important;right:0!important;width:100%!important;max-width:100%!important;border-radius:var(--radius-2xl) var(--radius-2xl) 0 0;max-height:80vh;z-index:9999!important;animation:bottomSheetSlideUp .3s var(--ease-out)}@keyframes bottomSheetSlideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.dropdown-menu{border-radius:var(--radius-2xl) var(--radius-2xl) 0 0}.dropdown-menu:before{content:"";display:block;width:36px;height:4px;background:var(--border-secondary);border-radius:var(--radius-full);margin:var(--space-3) auto var(--space-2)}}@media (max-width: 480px){.navbar-container{padding:0 var(--space-3);gap:var(--space-2)}.logo-image{height:44px}.role-badge{display:none}.navbar-right{gap:var(--space-1)}}.sidebar{position:fixed;top:calc(var(--navbar-height) + env(safe-area-inset-top,0px));left:0;bottom:0;width:var(--sidebar-width);background:var(--bg-primary);border-right:1px solid var(--border-subtle);z-index:var(--z-sticky);overflow:hidden;display:flex;flex-direction:column;transition:width var(--duration-default) var(--ease-out)}.sidebar.collapsed{width:var(--sidebar-width-collapsed)}.sidebar-content{display:flex;flex-direction:column;height:100%;overflow:hidden}.sidebar-mobile-header{display:none;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-subtle);flex-shrink:0;background:var(--bg-primary)}.sidebar-title{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-primary);letter-spacing:var(--tracking-tight)}.sidebar-close{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;background:var(--neutral-100);border-radius:var(--radius-md);color:var(--text-quaternary);cursor:pointer;transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast),transform var(--transition-fast)}.sidebar-close:hover{background:var(--error-50);color:var(--error-500)}.sidebar-search{padding:var(--space-3) var(--space-3) var(--space-2);flex-shrink:0}.sidebar.collapsed .sidebar-search{padding:var(--space-2);display:flex;justify-content:center}.search-wrapper{position:relative;display:flex;align-items:center;background:var(--neutral-50);border-radius:var(--radius-md);border:1px solid var(--border-subtle);transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast),transform var(--transition-fast)}.sidebar.collapsed .search-wrapper{background:transparent;border:none;width:100%;justify-content:center;padding:8px 0;cursor:pointer;border-radius:var(--radius-md)}.sidebar.collapsed .search-wrapper:hover{background:var(--neutral-100)}.search-wrapper:focus-within{background:var(--bg-primary);border-color:var(--primary-500);box-shadow:0 0 0 3px var(--primary-100)}.search-icon{position:absolute;left:12px;color:var(--text-placeholder);pointer-events:none}.sidebar.collapsed .search-icon{position:static;color:var(--text-quaternary);width:20px;height:20px}.search-input{width:100%;padding:9px 12px 9px 38px;border:none;background:transparent;font-size:var(--text-sm);color:var(--text-primary);outline:none;font-family:var(--font-family)}.search-input::placeholder{color:var(--text-placeholder)}.sidebar.collapsed .search-input{display:none}.sidebar-nav{flex:1;overflow-y:auto;overflow-x:hidden;padding:0;scrollbar-width:thin;scrollbar-color:var(--neutral-300) transparent}.sidebar-nav::-webkit-scrollbar{width:4px}.sidebar-nav::-webkit-scrollbar-thumb{background-color:var(--neutral-300);border-radius:4px}.sidebar-nav::-webkit-scrollbar-track{background-color:transparent}.nav-section{margin-bottom:0}.nav-section-header{display:flex;align-items:center;gap:var(--space-2);width:100%;min-height:48px;padding:0 16px;margin-bottom:0;font-size:var(--text-base);font-weight:var(--font-medium);color:var(--text-primary, #111827);background:transparent;border:none;border-radius:0;cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast);text-align:left;white-space:nowrap;position:relative}.section-icon{display:none;flex-shrink:0;color:var(--text-quaternary);width:20px;height:20px;transition:color var(--transition-fast)}.nav-section-header:hover{background:var(--neutral-50);color:var(--text-primary)}.nav-section-header.active{background:var(--neutral-100);color:var(--text-primary)}.section-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.section-arrow{flex-shrink:0;color:var(--neutral-400);width:18px;height:18px;stroke-width:2.5;transition:color var(--transition-fast);margin-left:auto}.nav-section-header:hover .section-arrow{color:var(--neutral-400)}.nav-section-header.active .section-arrow{color:var(--neutral-500)}.sidebar.collapsed .nav-section-header{justify-content:center;padding:10px;font-size:var(--text-sm);border-radius:var(--radius-md)}.sidebar.collapsed .nav-section-header:hover{background:var(--neutral-50)}.sidebar.collapsed .nav-section-header.active{background:var(--primary-50)}.sidebar.collapsed .section-icon{display:block;width:22px;height:22px}.sidebar.collapsed .nav-section-header.active .section-icon{color:var(--primary-600)}.sidebar.collapsed .section-label,.sidebar.collapsed .section-arrow{display:none}.nav-list-nested{padding-left:4px;margin-top:2px;margin-bottom:var(--space-2)}.sidebar.collapsed .nav-list-nested{display:none}.nav-list-nested .nav-link{min-height:48px;padding:0 16px 0 20px;font-size:var(--text-sm);border-radius:0;color:var(--text-tertiary);transition:background-color var(--transition-fast),color var(--transition-fast)}.nav-list-nested .nav-link:hover{background:#0000000d;color:var(--text-primary)}.nav-list-nested .nav-link.active{background:var(--primary-50);color:var(--primary-700);font-weight:var(--font-semibold)}.nav-list-nested .nav-link.active .nav-icon{color:var(--primary-600)}.nav-list-nested .nav-icon{width:20px;height:20px;color:var(--neutral-400);transition:color var(--duration-fast)}.nav-list-nested .nav-link:hover .nav-icon{color:var(--text-quaternary)}.nav-group-label{display:block;font-size:10px;letter-spacing:var(--tracking-widest);color:var(--text-placeholder);padding:10px 10px 4px;font-weight:var(--font-medium)}.nav-divider{height:1px;background:var(--border-subtle);margin:var(--space-2) var(--space-3)}.nav-link-primary .nav-icon{color:var(--primary-600)}.nav-list{list-style:none;padding:0;margin:0}.nav-link{display:flex;align-items:center;gap:var(--space-4);min-height:48px;padding:0 16px 0 20px;margin-bottom:0;font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-secondary);text-decoration:none;border-radius:0;transition:background-color var(--transition-fast),color var(--transition-fast);position:relative;white-space:nowrap;background:transparent}.nav-link:hover{background:#0000000d;color:var(--text-primary)}.nav-link.active{background:var(--primary-50);color:var(--primary-700);font-weight:var(--font-semibold)}.nav-link.active .nav-icon{color:var(--primary-600)}.nav-icon{flex-shrink:0;width:20px;height:20px;color:var(--text-quaternary);transition:color var(--duration-fast)}.sidebar.collapsed .nav-icon{width:22px;height:22px}.nav-link:hover .nav-icon{color:var(--primary-500)}.nav-label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar.collapsed .nav-label{display:none}.nav-rail-indicator{display:flex;align-items:center;justify-content:center}.sidebar.collapsed .nav-rail-indicator{width:56px;height:32px;border-radius:var(--radius-full);transition:background-color var(--transition-fast)}.sidebar.collapsed .nav-link:hover .nav-rail-indicator{background:#0000000d}.sidebar.collapsed .nav-link.active .nav-rail-indicator{background:var(--primary-50)}.sidebar.collapsed .nav-link{justify-content:center;min-height:48px;padding:0;background:transparent}.sidebar.collapsed .nav-link:hover,.sidebar.collapsed .nav-link.active{background:transparent}.sidebar-footer-section{margin-top:auto;border-top:1px solid var(--border-subtle);background:var(--neutral-25)}.sidebar-collapse-toggle{display:flex;justify-content:flex-end;padding:var(--space-2) var(--space-3)}.sidebar.collapsed .sidebar-collapse-toggle{justify-content:center}.collapse-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--bg-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-quaternary);cursor:pointer;transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast),transform var(--transition-fast)}.collapse-btn:hover{background:var(--neutral-100);border-color:var(--border-default);color:var(--text-tertiary)}.sidebar.collapsed .nav-link,.sidebar.collapsed .nav-section-header{position:relative}.sidebar.collapsed .nav-link:after,.sidebar.collapsed .nav-section-header:after{content:attr(data-tooltip);position:absolute;left:calc(100% + 10px);top:50%;transform:translateY(-50%);padding:5px 10px;background:var(--neutral-800);color:var(--text-white);font-size:var(--text-xs);font-weight:var(--font-medium);border-radius:var(--radius-sm);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--transition-fast);z-index:var(--z-tooltip);box-shadow:var(--shadow-md);visibility:hidden}.sidebar.collapsed .nav-link[data-tooltip=""]:after,.sidebar.collapsed .nav-section-header[data-tooltip=""]:after{display:none}.sidebar.collapsed .nav-link:hover:after,.sidebar.collapsed .nav-section-header:hover:after{opacity:1;visibility:visible}.sidebar.collapsed .nav-link:before,.sidebar.collapsed .nav-section-header:before{content:"";position:absolute;left:calc(100% + 5px);top:50%;transform:translateY(-50%);border:4px solid transparent;border-right-color:var(--neutral-800);opacity:0;pointer-events:none;transition:opacity var(--transition-fast);z-index:var(--z-tooltip);visibility:hidden}.sidebar.collapsed .nav-link[data-tooltip=""]:before,.sidebar.collapsed .nav-section-header[data-tooltip=""]:before{display:none}.sidebar.collapsed .nav-link:hover:before,.sidebar.collapsed .nav-section-header:hover:before{opacity:1;visibility:visible}@media (max-width: 1024px){.sidebar{width:var(--sidebar-width-collapsed)}.nav-label,.section-label,.section-arrow,.nav-divider{display:none}.section-icon{display:block;width:22px;height:22px}.sidebar-nav{padding:0}.nav-section-header{justify-content:center;min-height:48px;padding:0 10px;font-size:var(--text-sm);border-radius:var(--radius-md)}.nav-section-header:hover{background:var(--neutral-50)}.nav-section-header.active{background:var(--neutral-100)}.nav-link{justify-content:center;min-height:48px;padding:0}.nav-list-nested{padding-left:0}.nav-list-nested .nav-link{justify-content:center;min-height:48px;padding:0}.nav-icon,.section-icon{width:22px;height:22px}.search-input{display:none}.search-wrapper{background:transparent;border:none;width:100%;justify-content:center;padding:8px 0}.search-icon{position:static;color:var(--text-quaternary);width:20px;height:20px}.nav-link:after,.nav-section-header:after{content:attr(data-tooltip);position:absolute;left:calc(100% + 12px);top:50%;transform:translateY(-50%);padding:6px 12px;background:var(--neutral-800);color:var(--text-white);font-size:var(--text-sm);font-weight:var(--font-medium);border-radius:var(--radius-sm);white-space:nowrap;opacity:0;visibility:hidden;pointer-events:none;transition:opacity var(--transition-fast);z-index:var(--z-tooltip);box-shadow:var(--shadow-lg)}.nav-link:hover:after,.nav-section-header:hover:after{opacity:1;visibility:visible}}@media (max-width: 768px){.sidebar{position:fixed;top:0;left:0;bottom:0;width:min(300px,85vw);max-width:320px;z-index:9999;transform:translate(-100%);box-shadow:var(--shadow-2xl);border-right:none;display:flex}.sidebar.sidebar-open{transform:translate(0);width:min(300px,85vw)}.sidebar.collapsed{width:min(300px,85vw)}.sidebar-mobile-header{display:flex}.section-icon{display:none!important}.sidebar.collapsed .nav-label,.sidebar.collapsed .section-label,.sidebar.collapsed .section-arrow,.sidebar.collapsed .search-input,.sidebar.collapsed .nav-list-nested{display:flex}.sidebar.collapsed .nav-list-nested{display:block}.nav-label,.section-label,.section-arrow{display:flex}.section-arrow{display:block}.nav-section-header{min-height:48px;padding:0 16px;font-size:var(--text-base);border-radius:0}.nav-section-header:hover{background:var(--neutral-50)}.nav-link{justify-content:flex-start;min-height:48px;padding:0 16px 0 20px}.sidebar.collapsed .nav-link,.sidebar.collapsed .nav-section-header{justify-content:flex-start}.sidebar.collapsed .nav-link{min-height:48px;padding:0 16px 0 20px;background:transparent}.sidebar.collapsed .nav-link:hover{background:#0000000d}.sidebar.collapsed .nav-link.active{background:var(--primary-50)}.sidebar.collapsed .nav-section-header{min-height:48px;padding:0 16px}.nav-list-nested{margin-left:0;padding-left:0}.search-input{display:block}.search-icon{position:absolute}.search-wrapper{justify-content:flex-start;padding:0;background:var(--neutral-50)}.nav-link:after,.nav-link:before,.sidebar.collapsed .nav-link:after,.sidebar.collapsed .nav-link:before{display:none!important}.sidebar-collapse-toggle{display:none}}.session-timeout-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:var(--space-4);z-index:var(--z-modal, 1000);animation:fadeIn .2s ease-out}.session-timeout-modal{background:var(--bg-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);padding:var(--space-8);max-width:420px;width:100%;text-align:center;animation:modalSlideIn .3s ease-out}.session-timeout-icon{display:flex;align-items:center;justify-content:center;width:80px;height:80px;margin:0 auto var(--space-5);background:var(--warning-100);color:var(--warning-600);border-radius:var(--radius-full);animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.session-timeout-title{font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--text-primary);margin-bottom:var(--space-3)}.session-timeout-message{font-size:var(--text-md);color:var(--text-secondary);margin-bottom:var(--space-2)}.session-timeout-message strong{color:var(--warning-600);font-weight:var(--font-bold);font-variant-numeric:tabular-nums}.session-timeout-submessage{font-size:var(--text-sm);color:var(--text-tertiary);margin-bottom:var(--space-6)}.session-timeout-actions{display:flex;flex-direction:column;gap:var(--space-3);margin-bottom:var(--space-5)}.session-timeout-extend{width:100%;padding:var(--space-3) var(--space-4);font-size:var(--text-md)}.session-timeout-logout{width:100%;padding:var(--space-3) var(--space-4)}.session-timeout-security-note{font-size:var(--text-xs);color:var(--text-quaternary);margin:0}.session-expired-icon{background:var(--danger-100, #fee2e2);color:var(--danger-600, #dc2626)}@media (max-width: 480px){.session-timeout-modal{padding:var(--space-6);margin:var(--space-4)}.session-timeout-icon{width:64px;height:64px}.session-timeout-icon svg{width:36px;height:36px}.session-timeout-title{font-size:var(--text-lg)}.session-timeout-message{font-size:var(--text-sm)}}.pwa-install-prompt{position:fixed;left:1rem;right:1rem;z-index:9998;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.25rem;background:var(--color-bg-primary, #ffffff);border-radius:var(--radius-lg, 12px);box-shadow:var(--shadow-xl, 0 25px 50px -12px rgba(0, 0, 0, .25));border:1px solid var(--color-border, #e2e8f0);animation:slideUp .3s ease-out;padding-bottom:calc(1rem + env(safe-area-inset-bottom,0px))}.pwa-prompt-bottom{bottom:1rem}.pwa-prompt-top{top:1rem}.pwa-prompt-content{display:flex;align-items:center;gap:1rem;flex:1}.pwa-prompt-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:var(--color-primary-light, #e0f2fe);border-radius:var(--radius-md, 8px);flex-shrink:0;overflow:hidden}.pwa-prompt-app-icon{width:36px;height:36px;object-fit:contain}.pwa-prompt-text{display:flex;flex-direction:column;gap:.125rem}.pwa-prompt-text strong{font-size:.9375rem;font-weight:600;color:var(--color-text-primary, #1e293b)}.pwa-prompt-text span{font-size:.8125rem;color:var(--color-text-secondary, #64748b)}.pwa-prompt-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.pwa-prompt-btn{display:inline-flex;align-items:center;justify-content:center;padding:.625rem 1.25rem;border-radius:var(--radius-md, 8px);font-size:.875rem;font-weight:500;cursor:pointer;transition:color .2s ease,background-color .2s ease,border-color .2s ease,box-shadow .2s ease,opacity .2s ease,transform .2s ease;border:none}.pwa-prompt-btn-primary{background:var(--color-primary, #00A1F6);color:#fff}.pwa-prompt-btn-primary:hover{background:var(--color-primary-hover, #0091e0)}.pwa-prompt-btn-dismiss{width:36px;height:36px;padding:0;background:transparent;color:var(--color-text-tertiary, #94a3b8)}.pwa-prompt-btn-dismiss:hover{background:var(--color-bg-tertiary, #f1f5f9);color:var(--color-text-secondary, #64748b)}.pwa-ios-guide-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;background:#0009;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:flex-end;justify-content:center;animation:fadeIn .2s ease-out}.pwa-ios-guide{width:100%;max-width:420px;background:var(--color-bg-primary, #ffffff);border-radius:16px 16px 0 0;padding:1.5rem;padding-bottom:calc(1.5rem + env(safe-area-inset-bottom,0px));animation:slideUp .3s ease-out}.pwa-ios-guide-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.25rem}.pwa-ios-guide-header h3{font-size:1.125rem;font-weight:700;color:var(--color-text-primary, #1e293b);margin:0}.pwa-ios-guide-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--color-text-tertiary, #94a3b8);cursor:pointer;border-radius:var(--radius-md, 8px)}.pwa-ios-guide-close:hover{background:var(--color-bg-tertiary, #f1f5f9)}.pwa-ios-guide-subtitle{font-size:.8125rem;color:var(--color-text-secondary, #64748b);margin:0 0 1.25rem}.pwa-ios-steps{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.25rem}.pwa-ios-step{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:var(--color-bg-tertiary, #f8fafc);border-radius:var(--radius-lg, 12px)}.pwa-ios-step-number{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--color-primary, #00A1F6);color:#fff;font-size:.8125rem;font-weight:700;border-radius:var(--radius-full, 9999px);flex-shrink:0}.pwa-ios-step-content{display:flex;align-items:center;justify-content:space-between;flex:1}.pwa-ios-step-label{font-size:.875rem;font-weight:500;color:var(--color-text-primary, #1e293b)}.pwa-ios-step-icon{color:var(--color-primary, #00A1F6);flex-shrink:0}.offline-indicator{position:fixed;top:0;left:0;right:0;z-index:10000;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1rem;font-size:.8125rem;font-weight:500;animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}.offline-indicator.offline{background:var(--color-warning, #f59e0b);color:#fff}.offline-indicator.online{background:var(--color-success, #22c55e);color:#fff;animation:slideDown .3s ease-out,fadeOut .3s ease-out 2.5s forwards}@keyframes fadeOut{to{opacity:0;transform:translateY(-100%)}}.update-prompt{position:fixed;bottom:1rem;right:1rem;z-index:9998;display:flex;flex-direction:column;gap:.75rem;padding:1rem;min-width:280px;background:var(--color-bg-primary, #ffffff);border-radius:var(--radius-lg, 12px);box-shadow:var(--shadow-xl, 0 25px 50px -12px rgba(0, 0, 0, .25));border:1px solid var(--color-border, #e2e8f0);animation:slideUp .3s ease-out}.update-prompt-content{display:flex;align-items:center;gap:.75rem}.update-icon{color:var(--color-primary, #00A1F6);animation:spin 2s linear infinite}.update-text{display:flex;flex-direction:column;gap:.125rem}.update-text strong{font-size:.9375rem;font-weight:600;color:var(--color-text-primary, #1e293b)}.update-text span{font-size:.8125rem;color:var(--color-text-secondary, #64748b)}.update-actions{display:flex;gap:.5rem}.update-btn{flex:1;padding:.5rem 1rem;border-radius:var(--radius-md, 8px);font-size:.8125rem;font-weight:500;cursor:pointer;transition:color .2s ease,background-color .2s ease,border-color .2s ease,box-shadow .2s ease,opacity .2s ease,transform .2s ease;border:none}.update-btn-primary{background:var(--color-primary, #00A1F6);color:#fff}.update-btn-primary:hover{background:var(--color-primary-hover, #0091e0)}.update-btn-dismiss{background:var(--color-bg-tertiary, #f1f5f9);color:var(--color-text-secondary, #64748b)}.update-btn-dismiss:hover{background:var(--color-bg-secondary, #e2e8f0)}body.standalone .pwa-install-prompt{display:none}@media (max-width: 480px){.pwa-install-prompt{flex-direction:column;align-items:stretch;left:.5rem;right:.5rem;bottom:.5rem}.pwa-prompt-actions{justify-content:stretch}.pwa-prompt-btn-primary{flex:1}.update-prompt{left:.5rem;right:.5rem;min-width:unset}.pwa-ios-guide{max-width:100%}}.loading-bar-container{position:fixed;top:0;left:0;right:0;height:3px;z-index:9999;background:transparent;overflow:hidden}.loading-bar{height:100%;background:linear-gradient(90deg,var(--primary-400) 0%,var(--primary-500) 50%,var(--primary-400) 100%);background-size:200% 100%;animation:loadingBarShimmer 1.5s ease-in-out infinite;transition:width .2s ease-out;border-radius:0 2px 2px 0;box-shadow:0 0 10px var(--primary-400)}@keyframes loadingBarShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.loading-bar-container:after{content:"";position:absolute;top:0;left:0;right:0;height:100%;background:linear-gradient(to right,transparent,rgba(255,255,255,.3),transparent);animation:loadingBarGlare 2s ease-in-out infinite}@keyframes loadingBarGlare{0%{transform:translate(-100%)}to{transform:translate(100%)}}.skip-link{position:absolute;top:-100%;left:50%;transform:translate(-50%);z-index:10001;padding:.75rem 1.5rem;background:var(--color-primary, #00A1F6);color:#fff;font-weight:600;font-size:.875rem;text-decoration:none;border-radius:var(--radius-md, 8px);box-shadow:var(--shadow-lg);transition:top .2s ease}.skip-link:focus{top:1rem;outline:none}.main-layout{min-height:100vh;background:var(--bg-secondary)}.main-content{margin-top:calc(var(--navbar-height) + env(safe-area-inset-top,0px));margin-left:var(--sidebar-width);min-height:calc(100vh - var(--navbar-height) - env(safe-area-inset-top,0px));padding:var(--space-6);padding-left:max(var(--space-6),env(safe-area-inset-left,0px));padding-right:max(var(--space-6),env(safe-area-inset-right,0px));transition:margin-left var(--transition-slow)}.page-transition{animation:pageEnter var(--duration-normal, .3s) var(--ease-out, ease-out)}.page-wrapper{max-width:1400px;margin:0 auto}.sidebar-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:calc(var(--z-modal) + 5);animation:overlayFadeIn var(--transition-fast) ease;cursor:pointer}@keyframes overlayFadeIn{0%{opacity:0;-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0)}to{opacity:1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}}.page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-6)}.page-header-content{flex:1}.page-header-content h1{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--text-primary);margin-bottom:var(--space-1);letter-spacing:-.02em}.page-header-content p{font-size:var(--text-sm);color:var(--text-tertiary);margin:0}.page-header-actions{display:flex;gap:var(--space-3);flex-shrink:0}.breadcrumb{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--text-quaternary);margin-bottom:var(--space-4)}.breadcrumb-item{color:var(--text-quaternary);text-decoration:none;transition:color var(--transition-fast)}.breadcrumb-item:hover{color:var(--primary-600)}.breadcrumb-item.active{color:var(--text-secondary);font-weight:var(--font-medium)}.breadcrumb-separator{color:var(--text-disabled)}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-16)}.loading-spinner{width:40px;height:40px;border:3px solid var(--border-primary);border-top-color:var(--primary-500);border-radius:var(--radius-full);animation:spin .8s linear infinite}.loading-state p{margin-top:var(--space-4);font-size:var(--text-sm);color:var(--text-tertiary)}.stats-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--space-4);margin-bottom:var(--space-6)}.stat-card{background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-xl);padding:var(--space-5);transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast),transform var(--transition-fast)}.stat-card:hover{border-color:var(--border-secondary);box-shadow:var(--shadow-md)}.stat-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-3)}.stat-card-icon{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--primary-50);color:var(--primary-600);border-radius:var(--radius-lg)}.stat-card-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;font-size:var(--text-xs);font-weight:var(--font-semibold);border-radius:var(--radius-full)}.stat-card-badge.positive{background:var(--success-50);color:var(--success-700)}.stat-card-badge.negative{background:var(--error-50);color:var(--error-700)}.stat-card-value{font-size:var(--text-3xl);font-weight:var(--font-bold);color:var(--text-primary);margin-bottom:var(--space-1);letter-spacing:-.02em}.stat-card-label{font-size:var(--text-sm);color:var(--text-tertiary)}.content-card{background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-xl);overflow:hidden}.content-card-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--border-primary)}.content-card-title{font-size:var(--text-md);font-weight:var(--font-semibold);color:var(--text-primary)}.content-card-body{padding:var(--space-6)}.content-card-footer{padding:var(--space-4) var(--space-6);border-top:1px solid var(--border-primary);background:var(--bg-secondary)}.tabs{display:flex;gap:var(--space-1);padding:var(--space-1);background:var(--bg-secondary);border-radius:var(--radius-lg);margin-bottom:var(--space-5)}.tab{flex:1;padding:var(--space-2) var(--space-4);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-tertiary);background:transparent;border:none;border-radius:var(--radius-md);cursor:pointer;transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast),transform var(--transition-fast);white-space:nowrap}.tab:hover{color:var(--text-secondary)}.tab.active{background:var(--bg-primary);color:var(--text-primary);box-shadow:var(--shadow-xs)}.filter-bar{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-xl);margin-bottom:var(--space-5);flex-wrap:wrap}.filter-bar .search-box{flex:1;min-width:200px;display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--bg-secondary);border:1px solid transparent;border-radius:var(--radius-lg);transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast),transform var(--transition-fast)}.filter-bar .search-box:focus-within{background:var(--bg-primary);border-color:var(--primary-300);box-shadow:var(--focus-ring)}.filter-bar .search-box input{flex:1;border:none;background:transparent;font-size:var(--text-sm);color:var(--text-primary);outline:none}.filter-bar .search-box input::placeholder{color:var(--text-placeholder)}.filter-bar .filter-divider{width:1px;height:24px;background:var(--border-primary)}@media (max-width: 1024px){.main-content{margin-left:var(--sidebar-width-collapsed)}.stats-row{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.main-content{margin-left:0;padding:var(--space-4);padding-bottom:calc(var(--space-4) + env(safe-area-inset-bottom,0))}.sidebar-overlay{display:block}.page-header{flex-direction:column;gap:var(--space-4)}.page-header-content h1{font-size:var(--text-xl)}.page-header-actions{width:100%}.page-header-actions .btn{flex:1;justify-content:center}.stats-row{grid-template-columns:1fr}.tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tab{flex:none;min-width:100px}.filter-bar{flex-direction:column;gap:var(--space-3)}.filter-bar .search-box{width:100%}.filter-bar .filter-divider{display:none}.content-card-header{flex-direction:column;gap:var(--space-3);align-items:stretch}}@media (max-width: 480px){.main-content{padding:var(--space-3)}.page-header-content h1{font-size:var(--text-lg)}.content-card-body,.stat-card{padding:var(--space-4)}.stat-card-value{font-size:var(--text-2xl)}}.print-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-weight:500;border-radius:var(--radius-lg, 8px);cursor:pointer;transition:color .2s ease,background-color .2s ease,border-color .2s ease,box-shadow .2s ease,opacity .2s ease,transform .2s ease;border:none;white-space:nowrap;font-family:inherit}.print-btn:disabled,.print-btn-disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.print-btn-loading{cursor:wait}.print-btn-sm{padding:.375rem .75rem;font-size:var(--text-xs, .8rem)}.print-btn-md{padding:.5rem 1rem;font-size:var(--text-sm, .875rem)}.print-btn-lg{padding:.75rem 1.25rem;font-size:var(--text-md, 1rem)}.print-btn-primary{background:var(--primary-600, #3b82f6);color:#fff}.print-btn-primary:hover:not(:disabled){background:var(--primary-700, #2563eb)}.print-btn-outline{background:transparent;border:1px solid var(--border-default, #e5e7eb);color:var(--text-secondary, #374151)}.print-btn-outline:hover:not(:disabled){background:var(--surface-secondary, #f9fafb);border-color:var(--primary-600, #3b82f6);color:var(--primary-600, #3b82f6)}.print-btn-ghost{background:transparent;border:none;color:var(--text-tertiary, #6b7280)}.print-btn-ghost:hover:not(:disabled){background:var(--surface-secondary, #f3f4f6);color:var(--primary-600, #3b82f6)}.print-btn-icon{padding:.5rem;background:transparent;border:1px solid var(--border-default, #e5e7eb);color:var(--text-tertiary, #6b7280);border-radius:var(--radius-md, 6px)}.print-btn-icon:hover:not(:disabled){background:var(--surface-secondary, #f9fafb);color:var(--primary-600, #3b82f6);border-color:var(--primary-600, #3b82f6)}.print-btn-success{background:var(--success-600, #10b981)!important;border-color:var(--success-600, #10b981)!important;color:#fff!important}.print-btn-error{background:var(--error-600, #ef4444)!important;border-color:var(--error-600, #ef4444)!important;color:#fff!important}.print-btn .spin{animation:print-btn-spin 1s linear infinite}@keyframes print-btn-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.toast-container{position:fixed;z-index:9999;pointer-events:none;display:flex;flex-direction:column;gap:.75rem;padding:1rem;max-height:100vh;overflow:hidden}.toast-top-right{top:0;right:0}.toast-top-left{top:0;left:0}.toast-top-center{top:0;left:50%;transform:translate(-50%)}.toast-bottom-right{bottom:0;right:0;flex-direction:column-reverse}.toast-bottom-left{bottom:0;left:0;flex-direction:column-reverse}.toast-bottom-center{bottom:0;left:50%;transform:translate(-50%);flex-direction:column-reverse}.toast-item{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;border-radius:var(--radius-lg, 12px);background:var(--color-bg-primary, #ffffff);box-shadow:var(--shadow-lg, 0 10px 15px -3px rgba(0, 0, 0, .1));border:1px solid var(--color-border, #e2e8f0);pointer-events:auto;min-width:320px;max-width:420px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.toast-success{border-left:4px solid var(--color-success, #22c55e)}.toast-success .toast-icon{color:var(--color-success, #22c55e)}.toast-error{border-left:4px solid var(--color-danger, #ef4444)}.toast-error .toast-icon{color:var(--color-danger, #ef4444)}.toast-warning{border-left:4px solid var(--color-warning, #f59e0b)}.toast-warning .toast-icon{color:var(--color-warning, #f59e0b)}.toast-info{border-left:4px solid var(--color-primary, #00A1F6)}.toast-info .toast-icon{color:var(--color-primary, #00A1F6)}.toast-icon{flex-shrink:0;margin-top:2px}.toast-content{flex:1;min-width:0}.toast-title{font-weight:600;font-size:.9375rem;color:var(--color-text-primary, #1e293b);margin-bottom:.25rem}.toast-message{font-size:.875rem;color:var(--color-text-secondary, #64748b);line-height:1.5}.toast-dismiss{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:transparent;border-radius:var(--radius-md, 8px);color:var(--color-text-tertiary, #94a3b8);cursor:pointer;transition:color .2s ease,background-color .2s ease,border-color .2s ease,box-shadow .2s ease,opacity .2s ease,transform .2s ease;margin:-4px -4px -4px 0}.toast-dismiss:hover{background:var(--color-bg-tertiary, #f1f5f9);color:var(--color-text-secondary, #64748b)}.toast-enter{animation:toastSlideIn .3s ease-out forwards}.toast-exit{animation:toastSlideOut .3s ease-in forwards}@keyframes toastSlideIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes toastSlideOut{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100%)}}.toast-top-left .toast-enter,.toast-bottom-left .toast-enter{animation:toastSlideInLeft .3s ease-out forwards}.toast-top-left .toast-exit,.toast-bottom-left .toast-exit{animation:toastSlideOutLeft .3s ease-in forwards}@keyframes toastSlideInLeft{0%{opacity:0;transform:translate(-100%)}to{opacity:1;transform:translate(0)}}@keyframes toastSlideOutLeft{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-100%)}}.toast-top-center .toast-enter,.toast-bottom-center .toast-enter{animation:toastSlideInCenter .3s ease-out forwards}.toast-top-center .toast-exit,.toast-bottom-center .toast-exit{animation:toastSlideOutCenter .3s ease-in forwards}@keyframes toastSlideInCenter{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes toastSlideOutCenter{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-20px)}}@media (max-width: 480px){.toast-container{left:0;right:0;padding:.5rem;padding-top:calc(.5rem + env(safe-area-inset-top,0px));padding-bottom:calc(.5rem + env(safe-area-inset-bottom,0px))}.toast-top-center,.toast-bottom-center{transform:none}.toast-item{min-width:unset;max-width:unset;width:100%}}.error-boundary{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:2rem;background:linear-gradient(135deg,#f5f7fa,#e4e8ec)}.error-boundary-content{max-width:600px;width:100%;background:#fff;padding:3rem;border-radius:16px;box-shadow:0 10px 40px #0000001a;text-align:center}.error-icon{display:inline-flex;align-items:center;justify-content:center;width:120px;height:120px;margin-bottom:1.5rem;background:#fef2f2;border-radius:50%;color:#dc2626}.error-boundary-content h1{margin:0 0 1rem;font-size:2rem;font-weight:700;color:#1e293b}.error-message{margin:0 0 2rem;font-size:1.125rem;color:#64748b;line-height:1.6}.error-details{margin-bottom:2rem;text-align:left;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden}.error-details summary{padding:.75rem 1rem;cursor:pointer;font-weight:500;color:#475569;background:#f1f5f9;border-bottom:1px solid #e2e8f0}.error-details summary:hover{background:#e2e8f0}.error-details pre{margin:0;padding:1rem;font-size:.75rem;line-height:1.5;color:#334155;overflow-x:auto;white-space:pre-wrap;word-break:break-word}.error-details strong{color:#dc2626}.error-actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.error-actions .btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:1rem;font-weight:500;border-radius:8px;cursor:pointer;transition:color .2s ease,background-color .2s ease,border-color .2s ease,box-shadow .2s ease,opacity .2s ease,transform .2s ease;border:none}.error-actions .btn-primary{background:#3b82f6;color:#fff}.error-actions .btn-primary:hover{background:#2563eb}.error-actions .btn-secondary{background:#64748b;color:#fff}.error-actions .btn-secondary:hover{background:#475569}.error-actions .btn-outline{background:transparent;color:#64748b;border:2px solid #e2e8f0}.error-actions .btn-outline:hover{background:#f8fafc;border-color:#cbd5e1}.error-id{margin-top:2rem;font-size:.875rem;color:#94a3b8;font-family:monospace}@media (max-width: 640px){.error-boundary{padding:1rem}.error-boundary-content{padding:2rem 1.5rem}.error-icon{width:100px;height:100px}.error-icon svg{width:48px;height:48px}.error-boundary-content h1{font-size:1.5rem}.error-message{font-size:1rem}.error-actions{flex-direction:column}.error-actions .btn{width:100%;justify-content:center}}.command-palette-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:flex-start;justify-content:center;padding-top:10vh;z-index:9999;animation:fadeIn .15s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.command-palette{width:100%;max-width:640px;background:var(--bg-primary, white);border-radius:16px;box-shadow:0 25px 80px #00000059;overflow:hidden;animation:slideDown .2s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.command-search{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;border-bottom:1px solid var(--border-color, #e5e7eb)}.command-search .search-icon{color:var(--text-secondary, #6b7280);flex-shrink:0}.command-input{flex:1;border:none;background:none;font-size:1rem;color:var(--text-primary, #111827);outline:none}.command-input::placeholder{color:var(--text-tertiary, #9ca3af)}.command-search .loading-icon{color:var(--primary-color, #6366f1);animation:spin 1s linear infinite;flex-shrink:0}.command-shortcuts{display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:var(--text-tertiary, #9ca3af)}.command-shortcuts kbd{background:var(--bg-secondary, #f3f4f6);padding:.125rem .375rem;border-radius:4px;font-family:inherit;font-size:.6875rem;border:1px solid var(--border-color, #e5e7eb)}.command-results{max-height:400px;overflow-y:auto;padding:.5rem}.command-results::-webkit-scrollbar{width:6px}.command-results::-webkit-scrollbar-thumb{background:var(--border-color, #e5e7eb);border-radius:3px}.result-category{padding:.5rem .75rem;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary, #9ca3af);margin-top:.5rem}.result-category:first-child{margin-top:0}.result-item{display:flex;align-items:center;gap:.75rem;width:100%;padding:.75rem;border:none;background:none;border-radius:10px;cursor:pointer;text-align:left;transition:color .15s,background-color .15s,border-color .15s,box-shadow .15s,opacity .15s,transform .15s}.result-item:hover,.result-item.selected{background:var(--primary-50, rgba(99, 102, 241, .08))}.result-item.selected{background:var(--primary-100, rgba(99, 102, 241, .12))}.result-icon{width:36px;height:36px;border-radius:8px;background:var(--bg-secondary, #f3f4f6);display:flex;align-items:center;justify-content:center;color:var(--text-secondary, #6b7280);flex-shrink:0;transition:color .15s,background-color .15s,border-color .15s,box-shadow .15s,opacity .15s,transform .15s}.result-item.selected .result-icon,.result-item:hover .result-icon{background:var(--primary-color, #6366f1);color:#fff}.result-content{flex:1;min-width:0}.result-label{display:block;font-size:.9375rem;font-weight:500;color:var(--text-primary, #111827);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.result-description{display:block;font-size:.8125rem;color:var(--text-secondary, #6b7280);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:.125rem}.result-arrow{color:var(--text-tertiary, #9ca3af);opacity:0;transition:color .15s,background-color .15s,border-color .15s,box-shadow .15s,opacity .15s,transform .15s;flex-shrink:0}.result-item.selected .result-arrow,.result-item:hover .result-arrow{opacity:1;color:var(--primary-color, #6366f1)}.no-results{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;color:var(--text-tertiary, #9ca3af);text-align:center}.no-results svg{margin-bottom:.75rem;opacity:.5}.no-results p{font-size:.875rem;margin:0}.command-footer{padding:.75rem 1.25rem;border-top:1px solid var(--border-color, #e5e7eb);background:var(--bg-secondary, #f9fafb)}.footer-hint{display:flex;align-items:center;justify-content:center;gap:.375rem;font-size:.75rem;color:var(--text-tertiary, #9ca3af)}.footer-hint kbd{background:var(--bg-primary, white);padding:.125rem .375rem;border-radius:4px;font-family:inherit;font-size:.6875rem;border:1px solid var(--border-color, #e5e7eb);margin:0 .125rem}@media (max-width: 768px){.command-palette-overlay{padding:0;align-items:flex-end}.command-palette{max-width:100%;border-radius:20px 20px 0 0;max-height:80vh}.command-search{padding:1rem}.command-shortcuts{display:none}.command-results{max-height:calc(80vh - 140px)}.result-item{padding:.625rem .75rem}.result-icon{width:32px;height:32px}.footer-hint{font-size:.6875rem}}@media (max-width: 480px){.result-label{font-size:.875rem}.result-description{font-size:.75rem}}.tutorial-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;display:flex;align-items:center;justify-content:center;padding:1rem;background-color:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:tutorialFadeIn .2s ease-out}@keyframes tutorialFadeIn{0%{opacity:0}to{opacity:1}}.tutorial-modal{width:100%;max-width:520px;background:var(--bg-primary, #ffffff);border-radius:var(--radius-xl, 16px);box-shadow:var(--shadow-xl, 0 25px 50px -12px rgba(0, 0, 0, .25));animation:tutorialSlideIn .3s ease-out;display:flex;flex-direction:column;overflow:hidden}@keyframes tutorialSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.tutorial-header{display:flex;align-items:flex-start;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border-primary, #e2e8f0)}.tutorial-header-info{display:flex;flex-direction:column;gap:.25rem}.tutorial-title{margin:0;font-size:1rem;font-weight:600;color:var(--text-primary, #1e293b)}.tutorial-step-counter{font-size:.8125rem;color:var(--text-tertiary, #94a3b8);font-weight:500}.tutorial-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:none;background:transparent;border-radius:var(--radius-md, 8px);color:var(--text-tertiary, #94a3b8);cursor:pointer;transition:color .2s ease,background-color .2s ease,border-color .2s ease,box-shadow .2s ease,opacity .2s ease,transform .2s ease;flex-shrink:0}.tutorial-close:hover{background:var(--bg-secondary, #f1f5f9);color:var(--text-secondary, #64748b)}.tutorial-body{padding:1.5rem;flex:1}.tutorial-step-title{margin:0 0 .75rem;font-size:.9375rem;font-weight:600;color:var(--text-primary, #1e293b)}.tutorial-step-content{margin:0 0 1rem;font-size:.875rem;line-height:1.6;color:var(--text-secondary, #64748b)}.tutorial-tip{display:flex;align-items:flex-start;gap:.625rem;padding:.75rem 1rem;background:var(--warning-50, #fffbeb);border:1px solid var(--warning-200, #fde68a);border-radius:var(--radius-md, 8px);margin-bottom:1rem}.tutorial-tip svg{color:var(--warning-500, #f59e0b);flex-shrink:0;margin-top:1px}.tutorial-tip span{font-size:.8125rem;line-height:1.5;color:var(--warning-800, #92400e)}.tutorial-navigate-btn{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem .875rem;font-size:.8125rem;font-weight:500;color:var(--primary-600, #0284c7);background:var(--primary-50, #f0f9ff);border:1px solid var(--primary-200, #bae6fd);border-radius:var(--radius-md, 8px);cursor:pointer;transition:color .2s ease,background-color .2s ease,border-color .2s ease,box-shadow .2s ease,opacity .2s ease,transform .2s ease}.tutorial-navigate-btn:hover{background:var(--primary-100, #e0f2fe);border-color:var(--primary-300, #7dd3fc)}.tutorial-footer{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-top:1px solid var(--border-primary, #e2e8f0);background:var(--bg-secondary, #f8fafc)}.tutorial-dots{display:flex;gap:.375rem}.tutorial-dot{width:8px;height:8px;padding:0;border:none;border-radius:50%;background:var(--border-secondary, #cbd5e1);cursor:pointer;transition:color .2s ease,background-color .2s ease,border-color .2s ease,box-shadow .2s ease,opacity .2s ease,transform .2s ease}.tutorial-dot.active{background:var(--primary-500, #0ea5e9);width:20px;border-radius:4px}.tutorial-dot.completed{background:var(--primary-300, #7dd3fc)}.tutorial-nav-buttons{display:flex;gap:.5rem}.tutorial-btn{display:inline-flex;align-items:center;gap:.25rem;padding:.5rem 1rem;font-size:.8125rem;font-weight:500;border-radius:var(--radius-md, 8px);border:none;cursor:pointer;transition:color .2s ease,background-color .2s ease,border-color .2s ease,box-shadow .2s ease,opacity .2s ease,transform .2s ease}.tutorial-btn:disabled{opacity:.4;cursor:not-allowed}.tutorial-btn-secondary{color:var(--text-secondary, #64748b);background:var(--bg-primary, #ffffff);border:1px solid var(--border-primary, #e2e8f0)}.tutorial-btn-secondary:hover:not(:disabled){background:var(--bg-tertiary, #f1f5f9)}.tutorial-btn-primary{color:#fff;background:var(--primary-500, #0ea5e9)}.tutorial-btn-primary:hover:not(:disabled){background:var(--primary-600, #0284c7)}@media (max-width: 640px){.tutorial-overlay{padding:0;align-items:flex-end}.tutorial-modal{max-width:100%;max-height:85vh;border-radius:var(--radius-xl, 16px) var(--radius-xl, 16px) 0 0;animation:tutorialSlideUp .3s ease-out}@keyframes tutorialSlideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.tutorial-header{padding:1rem}.tutorial-body{padding:1rem;overflow-y:auto}.tutorial-footer{padding:.875rem 1rem}.tutorial-nav-buttons{gap:.375rem}.tutorial-btn{padding:.5rem .75rem;font-size:.8125rem}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal, 1050);display:flex;align-items:center;justify-content:center;padding:1rem;background-color:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:modalFadeIn .2s ease-out}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}.modal-content{position:relative;display:flex;flex-direction:column;max-height:calc(100vh - 2rem);background:var(--color-bg-primary, #ffffff);border-radius:var(--radius-xl, 16px);box-shadow:var(--shadow-xl, 0 25px 50px -12px rgba(0, 0, 0, .25));animation:modalSlideIn .3s ease-out;overflow:hidden}.modal-sm{width:100%;max-width:400px}.modal-md{width:100%;max-width:560px}.modal-lg{width:100%;max-width:800px}.modal-xl{width:100%;max-width:1140px}.modal-full{width:calc(100vw - 2rem);height:calc(100vh - 2rem);max-width:none;border-radius:var(--radius-lg, 12px)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--color-border, #e2e8f0)}.modal-title{margin:0;font-size:1.125rem;font-weight:600;color:var(--color-text-primary, #1e293b)}.modal-close{display:flex;align-items:center;justify-content:center;width:36px;height:36px;margin:-8px -8px -8px 0;padding:0;border:none;background:transparent;border-radius:var(--radius-md, 8px);color:var(--color-text-tertiary, #94a3b8);cursor:pointer;transition:color .2s ease,background-color .2s ease,border-color .2s ease,box-shadow .2s ease,opacity .2s ease,transform .2s ease}.modal-close:hover{background:var(--color-bg-tertiary, #f1f5f9);color:var(--color-text-secondary, #64748b)}.modal-close:focus{outline:none;box-shadow:var(--focus-ring, 0 0 0 3px rgba(0, 161, 246, .3))}.modal-content>form{display:flex;flex-direction:column;flex:1;overflow:hidden;min-height:0}.modal-body{flex:1;padding:1.5rem;overflow-y:auto}.modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid var(--color-border, #e2e8f0);background:var(--color-bg-secondary, #f8fafc)}.confirm-modal-message{margin:0;font-size:.9375rem;color:var(--color-text-secondary, #64748b);line-height:1.6}.confirm-modal-actions{display:flex;gap:.75rem;width:100%;justify-content:flex-end}.modal-footer .btn,.confirm-modal-actions .btn{padding:.625rem 1.25rem;font-size:.875rem;font-weight:500;border-radius:var(--radius-md, 8px);cursor:pointer;transition:color .2s ease,background-color .2s ease,border-color .2s ease,box-shadow .2s ease,opacity .2s ease,transform .2s ease}.modal-footer .btn-secondary,.confirm-modal-actions .btn-secondary{background:var(--color-bg-primary, #ffffff);border:1px solid var(--color-border, #e2e8f0);color:var(--color-text-secondary, #64748b)}.modal-footer .btn-secondary:hover,.confirm-modal-actions .btn-secondary:hover{background:var(--color-bg-tertiary, #f1f5f9);border-color:var(--color-border-hover, #cbd5e1)}.modal-footer .btn-primary,.confirm-modal-actions .btn-primary{background:var(--color-primary, #00A1F6);border:1px solid var(--color-primary, #00A1F6);color:#fff}.modal-footer .btn-primary:hover,.confirm-modal-actions .btn-primary:hover{background:var(--color-primary-hover, #0091e0)}.modal-footer .btn-danger,.confirm-modal-actions .btn-danger{background:var(--color-danger, #ef4444);border:1px solid var(--color-danger, #ef4444);color:#fff}.modal-footer .btn-danger:hover,.confirm-modal-actions .btn-danger:hover{background:var(--color-danger-hover, #dc2626)}.modal-footer .btn:disabled,.confirm-modal-actions .btn:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 640px){.modal-overlay{padding:0;align-items:flex-end}.modal-content{max-height:90vh;max-height:90dvh;border-radius:var(--radius-xl, 16px) var(--radius-xl, 16px) 0 0;animation:modalSlideUp .3s ease-out}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.modal-sm,.modal-md,.modal-lg,.modal-xl{max-width:100%}.modal-full{width:100%;height:100vh;height:100dvh;max-height:100vh;max-height:100dvh;border-radius:0}.modal-header{padding:1rem;position:sticky;top:0;background:var(--color-bg-primary, #ffffff);z-index:2}.modal-body{padding:1rem}.modal-footer{padding:1rem;padding-bottom:calc(1rem + env(safe-area-inset-bottom,0px));position:sticky;bottom:0;z-index:2}.confirm-modal-actions{flex-direction:column-reverse}.confirm-modal-actions .btn{width:100%;min-height:44px}}@media (max-width: 380px){.modal-header,.modal-body,.modal-footer{padding-left:.75rem;padding-right:.75rem}}.tutorial-card{display:flex;gap:.875rem;padding:1rem;background:var(--bg-primary, #ffffff);border:1px solid var(--border-primary, #e2e8f0);border-radius:var(--radius-lg, 12px);transition:background .2s ease,border-color .2s ease,box-shadow .2s ease}.tutorial-card:hover{border-color:var(--border-secondary, #cbd5e1);box-shadow:0 2px 8px #0000000f}.tutorial-card.completed{background:var(--bg-secondary, #f8fafc)}.tutorial-card-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-md, 8px);background:var(--primary-50, #f0f9ff);color:var(--primary-600, #0284c7);flex-shrink:0}.tutorial-card.completed .tutorial-card-icon{background:var(--success-50, #f0fdf4);color:var(--success-600, #16a34a)}.tutorial-card-content{flex:1;min-width:0}.tutorial-card-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.25rem}.tutorial-card-title{margin:0;font-size:.875rem;font-weight:600;color:var(--text-primary, #1e293b)}.tutorial-card-badge{display:inline-flex;align-items:center;padding:.125rem .5rem;font-size:.6875rem;font-weight:600;color:var(--success-700, #15803d);background:var(--success-100, #dcfce7);border-radius:var(--radius-full, 9999px);white-space:nowrap}.tutorial-card-description{margin:0 0 .625rem;font-size:.8125rem;line-height:1.5;color:var(--text-tertiary, #94a3b8)}.tutorial-card-footer{display:flex;align-items:center;gap:.75rem}.tutorial-card-time,.tutorial-card-steps{display:inline-flex;align-items:center;gap:.25rem;font-size:.75rem;color:var(--text-quaternary, #a1a1aa)}.tutorial-card-actions{display:flex;align-items:center;gap:.375rem;margin-left:auto}.tutorial-card-reset{display:flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;border:1px solid var(--border-primary, #e2e8f0);background:var(--bg-primary, #ffffff);border-radius:var(--radius-sm, 6px);color:var(--text-quaternary, #a1a1aa);cursor:pointer;transition:color .2s ease,background-color .2s ease,border-color .2s ease,box-shadow .2s ease,opacity .2s ease,transform .2s ease}.tutorial-card-reset:hover{color:var(--text-secondary, #64748b);border-color:var(--border-secondary, #cbd5e1)}.tutorial-card-start{padding:.3125rem .75rem;font-size:.75rem;font-weight:500;color:var(--primary-600, #0284c7);background:var(--primary-50, #f0f9ff);border:1px solid var(--primary-200, #bae6fd);border-radius:var(--radius-md, 8px);cursor:pointer;transition:color .2s ease,background-color .2s ease,border-color .2s ease,box-shadow .2s ease,opacity .2s ease,transform .2s ease;white-space:nowrap}.tutorial-card-start:hover{background:var(--primary-100, #e0f2fe);border-color:var(--primary-300, #7dd3fc)}@media (max-width: 640px){.tutorial-card{padding:.875rem}.tutorial-card-icon{width:36px;height:36px}}.flow-guide-card{display:flex;gap:.875rem;padding:1rem;background:var(--bg-primary, #ffffff);border:1px solid var(--border-primary, #e2e8f0);border-radius:var(--radius-lg, 12px);transition:background .2s ease,border-color .2s ease,box-shadow .2s ease}.flow-guide-card:hover{border-color:var(--border-secondary, #cbd5e1);box-shadow:0 2px 8px #0000000f}.flow-guide-card-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-md, 8px);background:var(--primary-50, #f0f9ff);color:var(--primary-600, #0284c7);flex-shrink:0}.flow-guide-card-content{flex:1;min-width:0}.flow-guide-card-title{margin:0 0 .25rem;font-size:.875rem;font-weight:600;color:var(--text-primary, #1e293b)}.flow-guide-card-description{margin:0 0 .625rem;font-size:.8125rem;line-height:1.5;color:var(--text-tertiary, #94a3b8)}.flow-guide-card-footer{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.flow-guide-card-meta{display:inline-flex;align-items:center;gap:.25rem;font-size:.75rem;color:var(--text-quaternary, #a1a1aa)}.flow-guide-card-role-badge{display:inline-flex;align-items:center;padding:.125rem .5rem;font-size:.6875rem;font-weight:600;color:var(--primary-700, #0369a1);background:var(--primary-100, #e0f2fe);border-radius:var(--radius-full, 9999px);white-space:nowrap}.flow-guide-card-open{padding:.3125rem .75rem;font-size:.75rem;font-weight:500;color:var(--primary-600, #0284c7);background:var(--primary-50, #f0f9ff);border:1px solid var(--primary-200, #bae6fd);border-radius:var(--radius-md, 8px);cursor:pointer;transition:background .2s ease,border-color .2s ease;white-space:nowrap;margin-left:auto}.flow-guide-card-open:hover{background:var(--primary-100, #e0f2fe);border-color:var(--primary-300, #7dd3fc)}@media (max-width: 640px){.flow-guide-card{padding:.875rem}.flow-guide-card-icon{width:36px;height:36px}}.tutorial-catalog{display:flex;flex-direction:column;gap:1rem}.tutorial-catalog-sections{display:flex;gap:0;border-bottom:2px solid var(--border-primary, #e2e8f0)}.tutorial-catalog-section{display:inline-flex;align-items:center;padding:.5rem 1rem;font-size:.8125rem;font-weight:500;color:var(--text-tertiary, #94a3b8);background:transparent;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;cursor:pointer;transition:color .2s ease,border-color .2s ease;white-space:nowrap}.tutorial-catalog-section:hover{color:var(--text-secondary, #64748b)}.tutorial-catalog-section.active{color:var(--primary-600, #0284c7);border-bottom-color:var(--primary-500, #0ea5e9);font-weight:600}.tutorial-catalog-tabs{display:flex;gap:.25rem;padding:.25rem;background:var(--bg-secondary, #f8fafc);border-radius:var(--radius-lg, 12px);border:1px solid var(--border-primary, #e2e8f0);flex-wrap:wrap}.tutorial-catalog-tab{display:inline-flex;align-items:center;gap:.375rem;justify-content:center;padding:.5rem 1rem;font-size:.8125rem;font-weight:500;color:var(--text-tertiary, #94a3b8);background:transparent;border:none;border-radius:var(--radius-md, 8px);cursor:pointer;transition:color .2s ease,background .2s ease,box-shadow .2s ease;white-space:nowrap}.tutorial-catalog-tab:hover{color:var(--text-secondary, #64748b)}.tutorial-catalog-tab.active{color:var(--text-primary, #1e293b);background:var(--bg-primary, #ffffff);box-shadow:0 1px 3px #00000014;font-weight:600}.tutorial-catalog-tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;font-size:.6875rem;font-weight:600;border-radius:var(--radius-full, 9999px);background:var(--bg-tertiary, #f1f5f9);color:var(--text-quaternary, #a1a1aa)}.tutorial-catalog-tab.active .tutorial-catalog-tab-count{background:var(--primary-100, #e0f2fe);color:var(--primary-700, #0369a1)}.tutorial-catalog-list{display:flex;flex-direction:column;gap:.625rem}.tutorial-catalog-empty{text-align:center;padding:2rem;color:var(--text-tertiary, #94a3b8);font-size:.875rem}.install-section{display:flex;flex-direction:column;gap:1.25rem}.install-status{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.5rem;padding:1.5rem 1rem;color:var(--primary-600, #0284c7)}.install-status h3{margin:0;font-size:1rem;font-weight:600;color:var(--text-primary, #1e293b)}.install-status p{margin:0;font-size:.8125rem;color:var(--text-secondary, #64748b);max-width:400px;line-height:1.5}.install-status-done{color:var(--success-500, #22c55e)}.install-btn{margin-top:.5rem;padding:.625rem 1.5rem;font-size:.875rem;font-weight:600;color:#fff;background:var(--primary-500, #0ea5e9);border:none;border-radius:var(--radius-md, 8px);cursor:pointer;transition:background .2s ease}.install-btn:hover{background:var(--primary-600, #0284c7)}.install-btn:disabled{opacity:.6;cursor:not-allowed}.install-guides{display:flex;flex-direction:column;gap:.5rem}.install-guide-card{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem;border:1px solid var(--border-primary, #e2e8f0);border-radius:var(--radius-md, 8px);background:var(--bg-secondary, #f8fafc)}.install-guide-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;flex-shrink:0;border-radius:var(--radius-sm, 6px);background:var(--primary-50, #f0f9ff);color:var(--primary-500, #0ea5e9)}.install-guide-content h4{margin:0 0 .25rem;font-size:.8125rem;font-weight:600;color:var(--text-primary, #1e293b)}.install-guide-content p{margin:0;font-size:.75rem;color:var(--text-secondary, #64748b);line-height:1.5}@media (max-width: 640px){.tutorial-catalog-sections{gap:0}.tutorial-catalog-section{padding:.5rem .75rem;font-size:.75rem}.tutorial-catalog-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;flex-wrap:nowrap}.tutorial-catalog-tab{padding:.5rem .75rem;font-size:.75rem}}.welcome-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:flex;align-items:center;justify-content:center;padding:1rem;background-color:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:welcomeFadeIn .3s ease-out}@keyframes welcomeFadeIn{0%{opacity:0}to{opacity:1}}.welcome-modal{position:relative;width:100%;max-width:440px;background:var(--bg-primary, #ffffff);border-radius:var(--radius-xl, 16px);box-shadow:var(--shadow-xl, 0 25px 50px -12px rgba(0, 0, 0, .25));padding:2rem;text-align:center;animation:welcomeSlideIn .35s ease-out}@keyframes welcomeSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.welcome-close{position:absolute;top:1rem;right:1rem;display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:none;background:transparent;border-radius:var(--radius-md, 8px);color:var(--text-tertiary, #94a3b8);cursor:pointer;transition:color .2s ease,background-color .2s ease,border-color .2s ease,box-shadow .2s ease,opacity .2s ease,transform .2s ease}.welcome-close:hover{background:var(--bg-secondary, #f1f5f9);color:var(--text-secondary, #64748b)}.welcome-icon{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;margin:0 auto 1.25rem;background:var(--primary-50, #f0f9ff);border-radius:var(--radius-xl, 16px);color:var(--primary-500, #0ea5e9)}.welcome-title{margin:0 0 .625rem;font-size:1.25rem;font-weight:700;color:var(--text-primary, #1e293b)}.welcome-message{margin:0 0 1rem;font-size:.875rem;line-height:1.6;color:var(--text-secondary, #64748b)}.welcome-stats{margin-bottom:1.5rem;font-size:.8125rem;font-weight:500;color:var(--text-tertiary, #94a3b8)}.welcome-actions{display:flex;flex-direction:column;gap:.625rem}.welcome-btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.75rem 1.5rem;font-size:.875rem;font-weight:600;color:#fff;background:var(--primary-500, #0ea5e9);border:none;border-radius:var(--radius-lg, 12px);cursor:pointer;transition:color .2s ease,background-color .2s ease,border-color .2s ease,box-shadow .2s ease,opacity .2s ease,transform .2s ease}.welcome-btn-primary:hover{background:var(--primary-600, #0284c7)}.welcome-btn-secondary{display:inline-flex;align-items:center;justify-content:center;width:100%;padding:.625rem 1.5rem;font-size:.8125rem;font-weight:500;color:var(--text-tertiary, #94a3b8);background:transparent;border:none;border-radius:var(--radius-md, 8px);cursor:pointer;transition:color .2s ease,background-color .2s ease,border-color .2s ease,box-shadow .2s ease,opacity .2s ease,transform .2s ease}.welcome-btn-secondary:hover{color:var(--text-secondary, #64748b);background:var(--bg-secondary, #f8fafc)}@media (max-width: 640px){.welcome-overlay{padding:0;align-items:flex-end}.welcome-modal{max-width:100%;border-radius:var(--radius-xl, 16px) var(--radius-xl, 16px) 0 0;padding:1.5rem;animation:welcomeSlideUp .3s ease-out}@keyframes welcomeSlideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}}.flow-viewer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;display:flex;align-items:center;justify-content:center;padding:1rem;background-color:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:flowViewerFadeIn .2s ease-out}@keyframes flowViewerFadeIn{0%{opacity:0}to{opacity:1}}.flow-viewer-modal{width:100%;max-width:600px;max-height:85vh;background:var(--bg-primary, #ffffff);border-radius:var(--radius-xl, 16px);box-shadow:var(--shadow-xl, 0 25px 50px -12px rgba(0, 0, 0, .25));animation:flowViewerSlideIn .3s ease-out;display:flex;flex-direction:column;overflow:hidden}@keyframes flowViewerSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.flow-viewer-header{display:flex;align-items:flex-start;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border-primary, #e2e8f0);flex-shrink:0}.flow-viewer-header-info{display:flex;flex-direction:column;gap:.25rem;min-width:0}.flow-viewer-title{margin:0;font-size:1rem;font-weight:600;color:var(--text-primary, #1e293b)}.flow-viewer-subtitle{font-size:.8125rem;color:var(--text-tertiary, #94a3b8);line-height:1.4}.flow-viewer-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:none;background:transparent;border-radius:var(--radius-md, 8px);color:var(--text-tertiary, #94a3b8);cursor:pointer;transition:background .2s ease,color .2s ease;flex-shrink:0}.flow-viewer-close:hover{background:var(--bg-secondary, #f1f5f9);color:var(--text-secondary, #64748b)}.flow-viewer-body{padding:1.5rem;overflow-y:auto;flex:1}.flow-viewer-timeline{display:flex;flex-direction:column}.flow-stage{display:flex;gap:1rem;position:relative}.flow-stage--active .flow-stage-content{background:var(--primary-50, #f0f9ff);border-color:var(--primary-200, #bae6fd)}.flow-stage-track{display:flex;flex-direction:column;align-items:center;flex-shrink:0;width:28px}.flow-stage-dot{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--bg-tertiary, #f1f5f9);color:var(--text-tertiary, #94a3b8);font-size:.75rem;font-weight:700;flex-shrink:0;border:2px solid var(--border-primary, #e2e8f0)}.flow-stage-dot--active{background:var(--primary-500, #0ea5e9);color:#fff;border-color:var(--primary-500, #0ea5e9)}.flow-stage-line{width:2px;flex:1;background:var(--border-primary, #e2e8f0);min-height:12px}.flow-stage-content{flex:1;padding:.75rem 1rem;margin-bottom:.75rem;background:var(--bg-primary, #ffffff);border:1px solid var(--border-primary, #e2e8f0);border-radius:var(--radius-lg, 12px);min-width:0}.flow-stage-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.375rem}.flow-stage-title{margin:0;font-size:.875rem;font-weight:600;color:var(--text-primary, #1e293b)}.flow-stage-your-role{display:inline-flex;align-items:center;padding:.0625rem .4375rem;font-size:.625rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--primary-700, #0369a1);background:var(--primary-100, #e0f2fe);border-radius:var(--radius-full, 9999px);white-space:nowrap}.flow-stage-description{margin:0 0 .5rem;font-size:.8125rem;line-height:1.5;color:var(--text-secondary, #64748b)}.flow-stage-actors{display:flex;flex-wrap:wrap;gap:.375rem;margin-bottom:.5rem}.flow-stage-actor-badge{display:inline-flex;align-items:center;padding:.125rem .5rem;font-size:.6875rem;font-weight:500;color:var(--text-secondary, #64748b);background:var(--bg-tertiary, #f1f5f9);border-radius:var(--radius-full, 9999px);white-space:nowrap}.flow-stage-status-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:wrap}.flow-stage-status{display:inline-flex;align-items:center;gap:.25rem;font-size:.75rem;font-weight:600;color:var(--text-tertiary, #94a3b8)}.flow-stage-status svg{color:var(--text-quaternary, #a1a1aa)}.flow-stage-navigate{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .625rem;font-size:.6875rem;font-weight:500;color:var(--primary-600, #0284c7);background:var(--primary-50, #f0f9ff);border:1px solid var(--primary-200, #bae6fd);border-radius:var(--radius-md, 8px);cursor:pointer;transition:background .2s ease,border-color .2s ease;white-space:nowrap}.flow-stage-navigate:hover{background:var(--primary-100, #e0f2fe);border-color:var(--primary-300, #7dd3fc)}.flow-viewer-rbac{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--border-primary, #e2e8f0)}.flow-viewer-rbac-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;color:var(--text-secondary, #64748b)}.flow-viewer-rbac-header h4{margin:0;font-size:.8125rem;font-weight:600}.flow-viewer-rbac-list{display:flex;flex-direction:column;gap:.5rem}.flow-viewer-rbac-item{display:flex;gap:.75rem;align-items:baseline;padding:.5rem .75rem;background:var(--bg-secondary, #f8fafc);border-radius:var(--radius-md, 8px)}.flow-viewer-rbac-role{font-size:.8125rem;font-weight:600;color:var(--text-primary, #1e293b);white-space:nowrap;flex-shrink:0}.flow-viewer-rbac-desc{font-size:.8125rem;color:var(--text-tertiary, #94a3b8);line-height:1.4}@media (max-width: 640px){.flow-viewer-overlay{padding:0;align-items:flex-end}.flow-viewer-modal{max-width:100%;max-height:90vh;border-radius:var(--radius-xl, 16px) var(--radius-xl, 16px) 0 0;animation:flowViewerSlideUp .3s ease-out}@keyframes flowViewerSlideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.flow-viewer-header,.flow-viewer-body{padding:1rem}.flow-stage{gap:.75rem}.flow-stage-content{padding:.625rem .75rem}.flow-viewer-rbac-item{flex-direction:column;gap:.125rem}}.login-page{position:relative;min-height:100vh;min-height:100dvh;width:100%;font-family:var(--font-family);display:flex;background:var(--bg-primary)}@keyframes loginCardIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.login-brand{position:relative;flex:1.05;display:flex;flex-direction:column;justify-content:center;padding:var(--space-16);overflow:hidden;color:#fff;background:linear-gradient(150deg,#002a44,#00568a 52%,#0091de)}.login-brand-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none}.login-brand-grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:48px 48px;-webkit-mask-image:radial-gradient(ellipse 90% 80% at 30% 30%,#000 0%,transparent 75%);mask-image:radial-gradient(ellipse 90% 80% at 30% 30%,#000 0%,transparent 75%)}.login-brand-glow{position:absolute;border-radius:50%;filter:blur(100px)}.login-brand-glow-1{width:460px;height:460px;top:-120px;right:-80px;background:radial-gradient(circle,rgba(38,179,255,.55) 0%,transparent 70%)}.login-brand-glow-2{width:420px;height:420px;bottom:-140px;left:-100px;background:radial-gradient(circle,rgba(0,161,246,.4) 0%,transparent 70%)}.login-brand-content{position:relative;z-index:1;max-width:460px}.login-brand-logo{height:104px;width:auto;display:block;margin-bottom:var(--space-8)}.login-brand-title{font-family:var(--font-display);font-size:var(--text-4xl);font-weight:var(--font-bold);line-height:1.1;letter-spacing:-.02em;margin-bottom:var(--space-4);color:#fff}.login-brand-sub{font-size:var(--text-lg);line-height:1.6;color:#ffffffd1;max-width:420px}.login-main{flex:1;display:flex;align-items:center;justify-content:center;padding:var(--space-8);background:var(--bg-primary)}.login-card{width:100%;max-width:400px;animation:loginCardIn .4s var(--ease-out)}.login-card-mobilebrand{display:none}.login-card-mobilebrand img{height:72px;width:auto;display:block;margin:0 auto var(--space-6)}.login-card-header{margin-bottom:var(--space-8)}.login-card-header h2{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:var(--font-semibold);color:var(--text-primary);margin-bottom:var(--space-2);letter-spacing:-.01em}.login-card-header p{color:var(--text-tertiary);font-size:var(--text-sm)}.login-form{display:flex;flex-direction:column;gap:var(--space-6)}.login-page .form-group{display:flex;flex-direction:column;gap:var(--space-2)}.login-page .form-label{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-secondary)}.input-group{position:relative;display:flex;align-items:center;border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--bg-primary);overflow:hidden;transition:color var(--duration-fast) var(--ease-out),background-color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out),opacity var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out)}.input-group:focus-within{border-color:var(--primary-500);box-shadow:var(--focus-ring);background:#fff}.input-group:hover:not(:focus-within){border-color:var(--border-hover);background:#fafafa}.input-icon-wrapper{width:48px;height:48px;display:flex;align-items:center;justify-content:center;pointer-events:none;color:var(--text-quaternary);background:var(--bg-tertiary);border-right:1px solid var(--border-default);flex-shrink:0}.login-page .form-input{flex:1;width:100%;height:48px;padding:10px 16px;font-size:var(--text-base);line-height:normal;color:var(--text-primary);background:transparent;border:none;outline:none}.login-page .form-input::placeholder{color:var(--text-placeholder)}.password-toggle{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--text-quaternary);cursor:pointer;transition:color .2s;flex-shrink:0}.password-toggle:hover{color:var(--text-secondary)}.paste-warning{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--warning-50);border:1px solid var(--warning-200);border-radius:var(--radius-lg);font-size:var(--text-sm);color:var(--warning-700);line-height:1.5;animation:fadeIn .2s ease-out}.paste-warning svg{flex-shrink:0;margin-top:2px;color:var(--warning-500)}.paste-warning-dismiss{flex-shrink:0;background:none;border:none;color:var(--warning-400);font-size:var(--text-lg);cursor:pointer;padding:0;line-height:1}.paste-warning-dismiss:hover{color:var(--warning-600)}.remember-me-row{display:flex;align-items:center}.remember-me-label{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none}.remember-me-checkbox{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.remember-me-check{width:18px;height:18px;border:1.5px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-primary);flex-shrink:0;position:relative;transition:background .15s ease,border-color .15s ease}.remember-me-check:after{content:"";position:absolute;top:2px;left:5px;width:5px;height:9px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg);opacity:0;transition:opacity .15s ease}.remember-me-checkbox:checked+.remember-me-check{background:var(--primary-500);border-color:var(--primary-500)}.remember-me-checkbox:checked+.remember-me-check:after{opacity:1}.remember-me-checkbox:focus-visible+.remember-me-check{box-shadow:var(--focus-ring)}.remember-me-label:hover .remember-me-check{border-color:var(--primary-400)}.captcha-container{width:100%;display:flex;justify-content:center}.captcha-container>div{width:100%}.captcha-container iframe{border-radius:var(--radius-lg)!important}.login-btn{display:flex;align-items:center;justify-content:center;gap:var(--space-2);width:100%;padding:14px;background:linear-gradient(180deg,var(--primary-500) 0%,var(--primary-600) 100%);color:#fff;border:none;border-radius:var(--radius-lg);font-size:var(--text-base);font-weight:var(--font-semibold);cursor:pointer;box-shadow:var(--shadow-md),0 0 0 1px inset #ffffff1a;transition:color var(--duration-fast) var(--ease-out),background-color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out),opacity var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out);margin-top:var(--space-2)}.login-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-lg),0 0 0 1px inset #fff3;filter:brightness(1.05)}.login-btn:active:not(:disabled){transform:translateY(0);box-shadow:var(--shadow-sm)}.login-btn:disabled{opacity:.7;cursor:not-allowed}.login-page .spinner{animation:spin 1s linear infinite}@media (max-width: 1024px){.login-brand{padding:var(--space-12)}.login-brand-title{font-size:var(--text-3xl)}.login-brand-sub{font-size:var(--text-base)}}@media (max-width: 768px){.login-brand{display:none}.login-main{flex:1;background:var(--bg-secondary);padding:var(--space-6)}.login-card{background:#fff;border:1px solid var(--border-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);padding:var(--space-8) var(--space-6)}.login-card-mobilebrand{display:block}.login-card-header{text-align:center}.login-page .form-input{font-size:16px}}@media (max-width: 480px){.login-card-mobilebrand img{height:60px}.login-card-header h2{font-size:var(--text-xl)}}.error-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:99999;padding:var(--space-4);animation:fadeIn .2s ease-out;pointer-events:auto;isolation:isolate}.error-modal{background:var(--surface-primary);border-radius:var(--radius-2xl);padding:var(--space-8);width:100%;max-width:400px;position:relative;box-shadow:0 25px 50px -12px #00000040,0 0 0 1px #0000000d;animation:modalSlideUp .3s ease-out;text-align:center;pointer-events:auto;z-index:1}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.error-modal-close{position:absolute;top:var(--space-4);right:var(--space-4);background:none;border:none;color:var(--text-quaternary);cursor:pointer;padding:var(--space-1);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast),transform var(--transition-fast)}.error-modal-close:hover{background:var(--bg-tertiary);color:var(--text-secondary)}.error-modal-icon{width:72px;height:72px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;margin:0 auto var(--space-5)}.error-modal-title{font-family:var(--font-display);font-size:var(--text-xl);font-weight:700;color:var(--text-primary);margin-bottom:var(--space-3);letter-spacing:var(--tracking-tight)}.error-modal-message{font-size:var(--text-md);color:var(--text-secondary);line-height:1.6;margin-bottom:var(--space-4)}.error-modal-suggestion{display:flex;align-items:center;justify-content:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--text-tertiary);background:var(--bg-secondary);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);margin-bottom:var(--space-6)}.error-modal-suggestion svg{flex-shrink:0;color:var(--text-quaternary)}.error-modal-actions{display:flex;gap:var(--space-3)}.login-page .btn-modal-primary{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:linear-gradient(180deg,var(--primary-500) 0%,var(--primary-600) 100%);color:#fff;border:1px solid var(--primary-600);border-radius:var(--radius-lg);font-size:var(--text-md);font-weight:var(--font-medium);cursor:pointer;transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast),transform var(--transition-fast)}.login-page .btn-modal-primary:hover{background:linear-gradient(180deg,var(--primary-400) 0%,var(--primary-500) 100%);transform:translateY(-1px);box-shadow:0 4px 12px #00a1f64d}.login-page .btn-modal-secondary{flex:1;padding:var(--space-3) var(--space-4);background:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);font-size:var(--text-md);font-weight:var(--font-medium);cursor:pointer;transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast),transform var(--transition-fast)}.login-page .btn-modal-secondary:hover{background:var(--bg-tertiary);border-color:var(--border-secondary)}@media (max-width: 480px){.error-modal{padding:var(--space-6)}.error-modal-icon{width:60px;height:60px}.error-modal-icon svg{width:28px;height:28px}.error-modal-title{font-size:var(--text-lg)}.error-modal-message{font-size:var(--text-sm)}.error-modal-actions{flex-direction:column}}.dashboard{max-width:1400px;margin:0 auto;min-width:0;overflow:hidden}.dashboard-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-8)}.dashboard .header-content h1{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:700;letter-spacing:var(--tracking-tight);color:var(--text-primary);margin-bottom:var(--space-1)}.dashboard .header-content p{font-size:var(--text-sm);color:var(--text-tertiary);margin:0}.dashboard .header-actions{display:flex;gap:var(--space-3);flex-shrink:0}.dashboard-tabs-wrapper{position:relative;display:flex;align-items:center;margin-bottom:var(--space-6)}.dashboard-tabs-wrapper:before,.dashboard-tabs-wrapper:after{content:"";position:absolute;top:0;bottom:0;width:32px;pointer-events:none;z-index:1;opacity:0;transition:opacity var(--duration-fast) var(--ease-out)}.dashboard-tabs-wrapper:before{left:0;background:linear-gradient(to right,var(--surface-secondary),transparent);border-radius:var(--radius-lg) 0 0 var(--radius-lg)}.dashboard-tabs-wrapper:after{right:0;background:linear-gradient(to left,var(--surface-secondary),transparent);border-radius:0 var(--radius-lg) var(--radius-lg) 0}.dashboard-tabs-wrapper.can-scroll-left:before{opacity:1}.dashboard-tabs-wrapper.can-scroll-right:after{opacity:1}.dashboard-tabs{display:flex;gap:var(--space-1);padding:6px;background:#f0f2f5b3;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:100px;border:1px solid rgba(0,0,0,.04);box-shadow:inset 0 2px 4px #00000005;overflow-x:auto;flex:1;scrollbar-width:none;-ms-overflow-style:none;scroll-snap-type:x proximity}.dashboard-tabs::-webkit-scrollbar{display:none}.dashboard .tabs-scroll-btn{display:none;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-full);border:1px solid var(--border-default);background:var(--surface-primary);color:var(--text-tertiary);cursor:pointer;flex-shrink:0;box-shadow:var(--shadow-sm);transition:opacity var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out);opacity:0;pointer-events:none;z-index:2}.dashboard .tabs-scroll-btn.visible{display:flex;opacity:1;pointer-events:auto}.dashboard .tabs-scroll-btn:active{background:var(--primary-50);color:var(--primary-600);border-color:var(--primary-200);transform:scale(.92)}.dashboard .tabs-scroll-left{margin-right:var(--space-2)}.dashboard .tabs-scroll-right{margin-left:var(--space-2)}.dashboard-tab{display:flex;align-items:center;gap:var(--space-2);padding:8px 16px;font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-secondary);background:transparent;border:1px solid transparent;border-radius:var(--radius-full);cursor:pointer;white-space:nowrap;flex-shrink:0;transition:all var(--duration-default) cubic-bezier(.16,1,.3,1);scroll-snap-align:start}.dashboard-tab:hover{color:var(--text-primary);background:#0000000a}.dashboard-tab.active{color:var(--primary-700);background:#fff;border-color:#00000005;box-shadow:0 2px 8px #0000000f,0 1px 2px #0000000a;font-weight:var(--font-semibold);transform:scale(1.02)}.dashboard-announcements{margin-bottom:var(--space-6);overflow:hidden;min-width:0}.dashboard .stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-5);margin-bottom:var(--space-8)}.dashboard .stat-card{background:#fff9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.4);border-radius:var(--radius-xl);padding:var(--space-5);box-shadow:0 4px 12px #00000005;position:relative;overflow:hidden;transition:transform var(--duration-default) cubic-bezier(.16,1,.3,1),box-shadow var(--duration-default) cubic-bezier(.16,1,.3,1),border-color var(--duration-default) ease}.dashboard .stat-card:hover{box-shadow:0 8px 24px #00a1f614;border-color:#00a1f64d;transform:translateY(-4px)}@keyframes shimmerLoad{0%{transform:translate(-100%) skew(-15deg)}to{transform:translate(200%) skew(-15deg)}}.dashboard .stat-card:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);transform:translate(-100%) skew(-15deg);animation:shimmerLoad 2s ease-in-out infinite alternate;pointer-events:none;opacity:0}.dashboard .stat-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-4)}.dashboard .stat-icon{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-lg)}.dashboard .stat-icon-primary{background:var(--primary-100);color:var(--primary-700)}.dashboard .stat-icon-success{background:var(--success-100);color:var(--success-700)}.dashboard .stat-icon-warning{background:var(--warning-100);color:var(--warning-700)}.dashboard .stat-icon-info{background:var(--info-100);color:var(--info-700)}.dashboard .stat-icon-error{background:var(--error-100);color:var(--error-700)}.dashboard .stat-trend{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;font-size:12px;font-weight:var(--font-medium);border-radius:var(--radius-full)}.dashboard .trend-up{background:var(--success-50);color:var(--success-700)}.dashboard .trend-down{background:var(--error-50);color:var(--error-700)}.dashboard .stat-card-body{margin-bottom:var(--space-2)}.dashboard .stat-value{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:700;letter-spacing:var(--tracking-tight);color:var(--text-primary);margin-bottom:var(--space-1);line-height:1.2;font-variant-numeric:tabular-nums}.dashboard .stat-label{font-size:var(--text-sm);color:var(--text-tertiary);margin:0}.dashboard .stat-card-footer .stat-sub{font-size:var(--text-xs);color:var(--text-quaternary)}.dashboard-grid{display:grid;grid-template-columns:2fr 1fr;gap:var(--space-6);margin-bottom:var(--space-6)}.dashboard-card{background:var(--surface-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-xs)}.dashboard-card.full-width{grid-column:1 / -1}.dashboard .card-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-subtle)}.dashboard .card-header h3{font-family:var(--font-display);font-size:var(--text-md);font-weight:var(--font-semibold);color:var(--text-primary);margin:0}.dashboard .card-header-action{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--primary-600);background:none;border:none;cursor:pointer;padding:0;display:flex;align-items:center;gap:var(--space-1)}.dashboard .card-header-action:hover{color:var(--primary-700)}.dashboard .card-body{padding:var(--space-5)}.dashboard .card-body.p-0{padding:0}.dashboard .request-id{font-family:SF Mono,Monaco,Inconsolata,monospace;font-size:var(--text-sm);color:var(--primary-600);font-weight:var(--font-medium)}.dashboard .type-badge{text-transform:capitalize;font-size:var(--text-xs);color:var(--text-tertiary)}.dashboard .user-cell{display:flex;align-items:center;gap:var(--space-2)}.dashboard .amount-cell{font-weight:var(--font-semibold);color:var(--text-primary)}.dashboard .client-name{font-weight:var(--font-medium);color:var(--text-primary)}.dashboard .service-name{font-size:var(--text-sm);color:var(--text-tertiary);max-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard .activity-list{display:flex;flex-direction:column}.dashboard .activity-item{display:flex;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-left:3px solid transparent;border-bottom:1px solid var(--border-primary);transition:background var(--transition-fast),border-left-color var(--transition-fast),transform var(--transition-fast)}.dashboard .activity-item:last-child{border-bottom:none}.dashboard .activity-item:hover{background:var(--bg-secondary);border-left-color:var(--primary-500);transform:translate(4px)}.dashboard .activity-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);flex-shrink:0}.dashboard .activity-icon-primary{background:var(--primary-100);color:var(--primary-700)}.dashboard .activity-icon-success{background:var(--success-100);color:var(--success-700)}.dashboard .activity-icon-warning{background:var(--warning-100);color:var(--warning-700)}.dashboard .activity-icon-info{background:var(--info-100);color:var(--info-700)}.dashboard .activity-icon-neutral{background:var(--neutral-200);color:var(--neutral-700)}.dashboard .activity-content{flex:1;min-width:0}.dashboard .activity-message{font-size:var(--text-sm);color:var(--text-secondary);margin:0 0 4px}.dashboard .activity-meta{display:flex;justify-content:space-between;align-items:center}.dashboard .activity-amount{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-primary)}.dashboard .activity-time{font-size:var(--text-xs);color:var(--text-quaternary)}.dashboard .quick-actions{margin-bottom:var(--space-6)}.dashboard .quick-actions h3{font-size:var(--text-md);font-weight:var(--font-semibold);color:var(--text-primary);margin-bottom:var(--space-4)}.dashboard .actions-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-4)}.dashboard .action-card{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-5);background:var(--surface-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);cursor:pointer;transition:transform var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out);text-decoration:none}.dashboard .action-card:hover{border-color:var(--primary-200);background:var(--primary-50);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.dashboard .action-card:active{transform:translateY(0)}.dashboard .action-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary);border-radius:var(--radius-lg);color:var(--text-tertiary);transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast),transform var(--transition-fast)}.dashboard .action-card:hover .action-icon{background:var(--primary-50);color:var(--primary-600)}.dashboard .action-card span{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-secondary)}.dashboard .summary-stats{display:flex;flex-direction:column}.dashboard .summary-item{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3) 0;border-bottom:1px solid var(--border-primary)}.dashboard .summary-item:last-child{border-bottom:none}.dashboard .summary-item.total{background:var(--bg-secondary);margin:var(--space-3) calc(var(--space-5) * -1) calc(var(--space-5) * -1);padding:var(--space-4) var(--space-5);border-bottom:none;border-radius:0 0 var(--radius-xl) var(--radius-xl)}.dashboard .summary-item.alert .summary-value{color:var(--error-600)}.dashboard .summary-label{font-size:var(--text-sm);color:var(--text-tertiary)}.dashboard .summary-value{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-primary)}.dashboard .summary-item.total .summary-label,.dashboard .summary-item.total .summary-value{font-weight:var(--font-bold);color:var(--text-primary)}.dashboard .action-buttons{display:flex;gap:var(--space-2)}.dashboard .action-buttons .btn{white-space:nowrap}.dashboard .badge{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-2);font-size:var(--text-xs);font-weight:var(--font-medium);border-radius:var(--radius-md);white-space:nowrap}.dashboard .badge-success{background:var(--success-100);color:var(--success-700)}.dashboard .badge-warning{background:var(--warning-100);color:var(--warning-700)}.dashboard .badge-error{background:var(--error-100);color:var(--error-700)}.dashboard .badge-info{background:var(--info-100);color:var(--info-700)}.dashboard .badge-neutral{background:var(--neutral-200);color:var(--neutral-700)}.dashboard .badge-primary{background:var(--primary-100);color:var(--primary-700)}.dashboard .avatar{display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);font-weight:var(--font-semibold);text-transform:uppercase;background:var(--primary-100);color:var(--primary-700)}.dashboard .avatar-sm{width:28px;height:28px;font-size:var(--text-xs)}.dashboard .avatar-md{width:36px;height:36px;font-size:var(--text-sm)}.dashboard .avatar-lg{width:44px;height:44px;font-size:var(--text-md)}.dashboard .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-12);text-align:center}.dashboard .empty-state-icon{width:64px;height:64px;display:flex;align-items:center;justify-content:center;background:var(--surface-secondary);border-radius:var(--radius-full);color:var(--text-quaternary);margin-bottom:var(--space-5);animation:float 3s ease-in-out infinite}.dashboard .empty-state h4{font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-primary);margin-bottom:var(--space-2)}.dashboard .empty-state p{font-size:var(--text-sm);color:var(--text-tertiary);max-width:280px;line-height:1.6}.dashboard .donut-chart-wrapper{position:relative;display:flex;flex-direction:column;align-items:center}.dashboard .donut-center{position:absolute;top:90px;left:50%;transform:translate(-50%,-50%);text-align:center;pointer-events:none}.dashboard .donut-center-value{display:block;font-family:var(--font-display);font-size:var(--text-xl);font-weight:700;color:var(--text-primary);line-height:1.2;font-variant-numeric:tabular-nums}.dashboard .donut-center-label{display:block;font-size:var(--text-xs);color:var(--text-quaternary)}.dashboard .chart-legend{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4);justify-content:center;margin-top:var(--space-2)}.dashboard .chart-legend-item{display:flex;align-items:center;gap:var(--space-1);font-size:var(--text-xs)}.dashboard .chart-legend-dot{width:8px;height:8px;border-radius:var(--radius-full);flex-shrink:0}.dashboard .chart-legend-label{color:var(--text-tertiary)}.dashboard .chart-legend-value{font-weight:var(--font-semibold);color:var(--text-primary);font-variant-numeric:tabular-nums}.dashboard .chart-tooltip{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-4);background:#ffffffd9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(0,0,0,.05);border-radius:var(--radius-lg);box-shadow:0 4px 16px #00000014;font-size:var(--text-sm)}.dashboard .chart-tooltip-label{color:var(--text-secondary)}.dashboard .chart-tooltip-value{font-family:var(--font-display);font-weight:700;font-size:1rem;color:var(--primary-700)}.dashboard .chart-empty{display:flex;align-items:center;justify-content:center;min-height:120px;color:var(--text-quaternary);font-size:var(--text-sm)}.dashboard .executive-chart-row{max-width:360px;margin:0 auto}.dashboard .actions-grid-compact{grid-template-columns:repeat(2,1fr)}.recharts-cartesian-axis-tick-value{fill:var(--text-tertiary)}.dashboard .table-container{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--neutral-300) transparent}.dashboard .table-container::-webkit-scrollbar{height:6px}.dashboard .table-container::-webkit-scrollbar-track{background:transparent}.dashboard .table-container::-webkit-scrollbar-thumb{background:var(--neutral-300);border-radius:var(--radius-full)}.dashboard .table-container::-webkit-scrollbar-thumb:hover{background:var(--neutral-400)}.dashboard-card .table{min-width:600px}.dashboard .table-scroll-hint{display:none;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2);font-size:var(--text-xs);color:var(--text-quaternary);background:var(--bg-secondary);border-top:1px solid var(--border-subtle)}.dashboard .table-scroll-hint svg{animation:scrollHint 1.5s ease-in-out infinite}@keyframes scrollHint{0%,to{transform:translate(0)}50%{transform:translate(4px)}}@media (max-width: 1280px){.dashboard .stats-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.dashboard .actions-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.dashboard{padding:0 var(--space-1)}.dashboard-tabs-wrapper{margin-bottom:var(--space-4)}.dashboard-tabs{flex:1;min-width:0}.dashboard-tab{flex:none;padding:var(--space-2-5, 10px) var(--space-3);font-size:var(--text-xs);min-height:40px}.dashboard .tabs-scroll-btn{display:none!important}.dashboard .donut-center-value{font-size:var(--text-lg)}.dashboard .chart-legend{gap:var(--space-1) var(--space-3)}.dashboard-header{flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-3)}.dashboard .header-content h1{font-size:var(--text-xl)}.dashboard .header-actions{display:none}.dashboard .stats-grid{grid-template-columns:repeat(2,1fr);gap:var(--space-3);margin-bottom:var(--space-5)}.dashboard .stat-card{padding:var(--space-4)}.dashboard .stat-icon{width:40px;height:40px}.dashboard .stat-icon svg{width:18px;height:18px}.dashboard .stat-value{font-size:var(--text-xl)}.dashboard .stat-label{font-size:var(--text-xs)}.dashboard .card-header{padding:var(--space-3) var(--space-4);flex-wrap:wrap;gap:var(--space-2)}.dashboard .card-header h3{font-size:var(--text-sm)}.dashboard .card-body{padding:var(--space-4)}.dashboard .activity-item{padding:var(--space-3) var(--space-4)}.dashboard .activity-icon{width:36px;height:36px}.dashboard .activity-message{font-size:var(--text-xs)}.dashboard .activity-meta{flex-wrap:wrap;gap:var(--space-2)}.dashboard .actions-grid{grid-template-columns:1fr 1fr;gap:var(--space-3)}.dashboard .action-card{padding:var(--space-4);min-height:100px}.dashboard .action-icon{width:44px;height:44px}.dashboard .action-card span{font-size:var(--text-xs);text-align:center}.dashboard .table-scroll-hint{display:flex}.dashboard .summary-item{padding:var(--space-2) 0}.dashboard .summary-label,.dashboard .summary-value{font-size:var(--text-xs)}.dashboard .summary-item.total{padding:var(--space-3) var(--space-4);margin:var(--space-2) calc(var(--space-4) * -1) calc(var(--space-4) * -1)}}@media (max-width: 480px){.dashboard{padding:0}.dashboard-tabs-wrapper{margin-bottom:var(--space-3)}.dashboard-tabs{gap:0}.dashboard-tab{padding:var(--space-1-5, 6px) var(--space-2-5, 10px);font-size:11px;min-height:36px}.dashboard-tab svg{display:none}.dashboard .donut-center-value{font-size:var(--text-md)}.dashboard .actions-grid-compact{grid-template-columns:1fr 1fr}.dashboard-header{margin-bottom:var(--space-4)}.dashboard .header-content h1{font-size:var(--text-lg)}.dashboard .header-content p{font-size:var(--text-xs)}.dashboard .stats-grid{grid-template-columns:1fr 1fr;gap:var(--space-2);margin-bottom:var(--space-4)}.dashboard .stat-card{padding:var(--space-3)}.dashboard .stat-card-header{margin-bottom:var(--space-2)}.dashboard .stat-icon{width:36px;height:36px}.dashboard .stat-icon svg{width:16px;height:16px}.dashboard .stat-value{font-size:var(--text-lg);margin-bottom:0}.dashboard .stat-label{font-size:11px;line-height:1.3}.dashboard .stat-card-footer .stat-sub{font-size:10px}.dashboard-card{border-radius:var(--radius-lg)}.dashboard .card-header{padding:var(--space-3)}.dashboard .card-header h3{font-size:var(--text-sm)}.dashboard .card-header-action{font-size:var(--text-xs)}.dashboard .card-body{padding:var(--space-3)}.dashboard .activity-item{padding:var(--space-3);gap:var(--space-2)}.dashboard .activity-icon{width:32px;height:32px}.dashboard .activity-icon svg{width:14px;height:14px}.dashboard .actions-grid{grid-template-columns:repeat(2,1fr);gap:var(--space-2)}.dashboard .action-card{padding:var(--space-3);min-height:88px;gap:var(--space-2)}.dashboard .action-icon{width:40px;height:40px}.dashboard .action-icon svg{width:20px;height:20px}.dashboard .action-card span{font-size:11px;line-height:1.3}.dashboard .quick-actions{margin-bottom:var(--space-4)}.dashboard .quick-actions h3{font-size:var(--text-sm);margin-bottom:var(--space-3)}.dashboard-grid{gap:var(--space-4);margin-bottom:var(--space-4)}.dashboard .empty-state{padding:var(--space-8)}.dashboard .empty-state-icon{width:56px;height:56px}.dashboard .empty-state h4{font-size:var(--text-md)}.dashboard .empty-state p{font-size:var(--text-xs)}}@media (hover: none) and (pointer: coarse){.dashboard .stat-card:hover{transform:none;box-shadow:var(--shadow-xs)}.dashboard .stat-card:active{transform:scale(.98)}.dashboard .action-card:hover{transform:none;background:var(--surface-primary);border-color:var(--border-subtle)}.dashboard .action-card:hover .action-icon{background:var(--bg-secondary);color:var(--text-tertiary)}.dashboard .action-card:active{transform:scale(.98);background:var(--primary-50);border-color:var(--primary-200)}.dashboard .action-card:active .action-icon{background:var(--primary-50);color:var(--primary-600)}.dashboard .activity-item:hover{background:transparent}.dashboard .activity-item:active{background:var(--bg-secondary)}}.dashboard-alert{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:var(--radius-lg);font-size:.8125rem;margin-bottom:8px}.dashboard-alert strong{font-weight:600}.dashboard-alert .btn{margin-left:auto;white-space:nowrap;flex-shrink:0}.dashboard-alert-warning{background:var(--warning-50);border:1px solid var(--warning-200);color:var(--warning-800)}.dashboard-alert-error{background:var(--error-50);border:1px solid var(--error-200);color:var(--error-700)}.aging-summary{display:flex;gap:16px;padding:8px 0 0;flex-wrap:wrap}.aging-summary-item{display:flex;align-items:center;gap:6px;font-size:.75rem}.aging-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.aging-label{color:var(--text-secondary)}.aging-count{font-weight:600;color:var(--text-primary)}.card-header-badge{font-size:.75rem;font-weight:600;padding:2px 10px;border-radius:var(--radius-full);background:var(--primary-50);color:var(--primary-700)}@media (max-width: 640px){.dashboard-alert{flex-direction:column;align-items:flex-start;gap:8px}.dashboard-alert .btn{margin-left:0}.aging-summary{gap:8px}}.announcement-slides{position:relative;background:linear-gradient(145deg,#fffffff2,#f8fafcd9);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(255,255,255,.8);border-radius:24px;padding:1.75rem;width:100%;max-width:900px;margin:1rem auto;box-shadow:0 8px 32px -8px #0028641f,inset 0 2px 4px #ffffffe6,inset 0 -2px 4px #00000005;overflow:hidden;contain:layout inline-size;transition:transform .3s ease,box-shadow .3s ease}.announcement-slides:hover{transform:translateY(-4px);box-shadow:0 16px 48px -12px #0028642e,inset 0 2px 4px #ffffffe6,inset 0 -2px 4px #00000005}.announcement-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1.25rem;padding-bottom:1rem;border-bottom:1px solid rgba(0,0,0,.04)}.announcement-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:linear-gradient(135deg,var(--primary-400),var(--primary-600));color:#fff;border-radius:14px;box-shadow:0 4px 12px #00a1f64d;flex-shrink:0;transition:transform .3s cubic-bezier(.34,1.56,.64,1)}.announcement-slides:hover .announcement-icon{transform:scale(1.08) rotate(-5deg)}.announcement-title{margin:0;font-size:1.125rem;font-weight:600;color:#0f172a;letter-spacing:-.01em;flex:1}.slides-refresh-btn{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;background:transparent;border:none;border-radius:var(--radius-md, 8px);color:#64748b;font-size:.8125rem;font-weight:500;cursor:pointer;flex-shrink:0;transition:background .2s ease,color .2s ease}.slides-refresh-btn:hover:not(:disabled){background:#f1f5f9;color:#3b82f6}.slides-refresh-btn:active:not(:disabled){background:#e2e8f0}.slides-refresh-btn:disabled{opacity:.5;cursor:not-allowed}.slides-refresh-label{line-height:1}.slides-container{position:relative;width:100%;aspect-ratio:5 / 3;background:#000;border-radius:16px;overflow:hidden;border:1px solid rgba(0,0,0,.1);box-shadow:0 12px 32px -12px #00000040,0 4px 12px -4px #00000026;transition:transform .4s cubic-bezier(.16,1,.3,1)}.announcement-slides:hover .slides-container{transform:scale(1.01)}.slides-iframe{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:none;transition:opacity .5s ease}.iframe-overlay{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;border-radius:12px;box-shadow:inset 0 0 0 1px #0000000d,inset 0 2px 12px #00000014}.slides-iframe.loading{opacity:0}.slides-iframe.hidden{display:none}.slides-skeleton{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#f8fafc}.skeleton-content{display:flex;flex-direction:column;align-items:center;width:70%;max-width:400px;gap:1.5rem}.skeleton-title-bar{width:100%;display:flex;justify-content:center}.skeleton-body{width:100%;display:flex;flex-direction:column;gap:.75rem;align-items:center}.skeleton-line{border-radius:6px;background:#e2e8f0}.skeleton-footer{display:flex;gap:.5rem;margin-top:.5rem}.skeleton-dot{width:8px;height:8px;border-radius:50%;background:#e2e8f0}.skeleton-shimmer{background:linear-gradient(90deg,#e2e8f0 25%,#f1f5f9,#e2e8f0 75%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite}.slides-refresh-spin{color:#3b82f6;animation:slides-spin .8s cubic-bezier(.5,.1,.5,.9) infinite}@keyframes slides-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.slides-error{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;background:#f8fafc;color:#64748b;text-align:center;padding:1.5rem}.slides-error svg{color:#94a3b8}.slides-error p{margin:0;font-size:.9375rem}.retry-btn{display:inline-flex;align-items:center;gap:.5rem;margin-top:.5rem;padding:.625rem 1.25rem;background:#3b82f6;color:#fff;font-size:.875rem;font-weight:500;border:none;border-radius:10px;cursor:pointer;transition:background .2s ease,transform .2s ease}.retry-btn:hover{background:#2563eb;transform:translateY(-1px)}.retry-btn:active{transform:translateY(0)}@media (max-width: 768px){.announcement-slides{padding:1.25rem;border-radius:16px}.announcement-header{margin-bottom:1rem;padding-bottom:.875rem}.slides-container{border-radius:12px}}@media (max-width: 640px){.announcement-slides{padding:1rem;border-radius:14px}.announcement-header{gap:.625rem;margin-bottom:.875rem;padding-bottom:.75rem}.announcement-icon{width:32px;height:32px;border-radius:8px}.announcement-icon svg{width:16px;height:16px}.announcement-title{font-size:1rem}.slides-container{border-radius:10px;aspect-ratio:8 / 5}}@media (max-width: 400px){.announcement-slides{padding:.875rem;border-radius:12px}.announcement-header{margin-bottom:.75rem;padding-bottom:.625rem}.announcement-icon{width:28px;height:28px}.announcement-title{font-size:.9375rem}.slides-container{border-radius:8px}}.profile-page{max-width:1200px;margin:0 auto;padding:0 16px}.profile-header{position:relative;background:var(--bg-secondary);border-radius:var(--radius-xl);margin-bottom:20px;overflow:hidden;box-shadow:0 1px 3px #0000000a,0 4px 16px #0000000f;border:1px solid var(--border-primary)}.profile-header-bg{height:140px;background:linear-gradient(135deg,var(--primary-500) 0%,var(--primary-300) 40%,var(--primary-600) 100%);background-size:200% 200%;animation:gradientShift 15s ease infinite}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.profile-header-body{display:flex;align-items:flex-start;padding:0 32px 28px;margin-top:-55px;gap:24px}.profile-avatar-large{width:110px;height:110px;border-radius:50%;background:linear-gradient(135deg,var(--bg-primary) 0%,var(--surface-secondary) 100%);display:flex;align-items:center;justify-content:center;font-size:42px;font-weight:800;color:var(--primary-600);border:6px solid var(--bg-secondary);box-shadow:0 8px 24px -6px #00a1f666;flex-shrink:0;position:relative;z-index:2}.profile-header-info{flex:1;min-width:0;display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding-top:52px}.profile-identity{min-width:0;flex:1}.profile-name{font-size:22px;font-weight:700;color:var(--text-primary);margin:0 0 2px;line-height:1.3;letter-spacing:-.02em}.profile-position{font-size:14px;color:var(--text-secondary);margin:0 0 10px;font-weight:500}.profile-badges{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.profile-header-meta{display:flex;flex-direction:column;gap:6px;flex-shrink:0;padding-top:2px}.profile-meta-item{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-secondary);white-space:nowrap}.profile-meta-item svg{flex-shrink:0;color:var(--text-tertiary)}.role-badge{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:var(--radius-full);font-size:12px;font-weight:600;text-transform:capitalize}.role-badge-purple{background:#8b5cf61a;color:#7c3aed}.role-badge-red{background:#ef44441a;color:#dc2626}.role-badge-green{background:#10b9811a;color:#059669}.role-badge-blue{background:#3b82f61a;color:#2563eb}.role-badge-gray{background:#6b72801a;color:#6b7280}.role-badge-orange{background:#f59e0b1a;color:#d97706}.functional-badge{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:10px;font-size:12px;font-weight:500}.functional-badge.ap-badge{background:#3b82f614;color:#2563eb}.functional-badge.ar-badge{background:#10b98114;color:#059669}.quick-stats-bar{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.quick-stat{display:flex;align-items:center;gap:12px;background:#fff9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:16px 20px;border-radius:var(--radius-xl);border:1px solid rgba(255,255,255,.4);transition:all var(--duration-default) cubic-bezier(.16,1,.3,1);box-shadow:0 4px 12px #00000005}.quick-stat:hover{border-color:#00a1f64d;box-shadow:0 8px 24px #00a1f614;transform:translateY(-4px)}.quick-stat-icon{width:40px;height:40px;border-radius:10px;background:#3b82f61f;color:var(--primary-500);display:flex;align-items:center;justify-content:center;flex-shrink:0}.quick-stat-icon.warning{background:#f59e0b1f;color:#f59e0b}.quick-stat-icon.success{background:#10b9811f;color:#10b981}.quick-stat-icon.info{background:#06b6d41f;color:#06b6d4}.quick-stat-content{display:flex;flex-direction:column;min-width:0}.quick-stat-value{font-size:18px;font-weight:700;color:var(--text-primary);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.quick-stat-label{font-size:12px;color:var(--text-secondary);white-space:nowrap}.outstanding-alert{display:flex;align-items:center;gap:12px;padding:14px 18px;background:#f59e0b14;border:1px solid rgba(245,158,11,.25);border-radius:12px;margin-bottom:16px;color:#b45309}.outstanding-alert svg{flex-shrink:0;color:#f59e0b}.alert-content{flex:1;display:flex;flex-direction:column;gap:2px}.alert-title{font-size:13px;font-weight:500}.alert-amount{font-size:16px;font-weight:700;color:#d97706}.alert-action{font-size:13px;font-weight:600;color:#f59e0b;cursor:pointer;transition:color .2s}.alert-action:hover{color:#d97706}.profile-tabs{display:flex;gap:var(--space-1);padding:6px;background:#f0f2f5b3;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:100px;border:1px solid rgba(0,0,0,.04);box-shadow:inset 0 2px 4px #00000005;margin-bottom:24px}.profile-tab{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;background:transparent;border:1px solid transparent;border-radius:100px;font-size:14px;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all var(--duration-default) cubic-bezier(.16,1,.3,1)}.profile-tab:hover{color:var(--text-primary);background:#0000000a}.profile-tab.active{color:var(--primary-700);background:#fff;border-color:#00000005;box-shadow:0 2px 8px #0000000f,0 1px 2px #0000000a;font-weight:600;transform:scale(1.02)}.profile-tab svg{flex-shrink:0}.profile-content{animation:fadeIn .25s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.profile-grid{display:grid;grid-template-columns:minmax(300px,1fr) minmax(300px,2fr);gap:20px;align-items:start}.profile-card{background:var(--bg-secondary);border-radius:16px;border:1px solid var(--border-primary);overflow:hidden;transition:box-shadow .2s ease}.profile-card:hover{box-shadow:0 8px 24px #0000000d;transform:translateY(-2px)}.profile-card.full-width{grid-column:1 / -1}.profile-card .card-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-primary);background:var(--bg-tertiary)}.profile-card .card-header h3{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:600;color:var(--text-primary);margin:0}.profile-card .card-header h3 svg{color:var(--primary-500)}.card-badge{font-size:12px;font-weight:500;color:var(--text-tertiary);background:var(--bg-secondary);padding:4px 10px;border-radius:12px}.profile-card .card-body{padding:20px}.profile-card .card-body.p-0{padding:0}.info-list{display:flex;flex-direction:column;gap:16px}.info-item{display:flex;align-items:flex-start;gap:12px;padding:8px 12px;border-radius:8px;margin:-8px -12px;transition:background .2s ease,transform .2s ease}.info-item:hover{background:var(--bg-tertiary);transform:translate(4px)}.info-icon{width:36px;height:36px;border-radius:10px;background:var(--bg-tertiary);display:flex;align-items:center;justify-content:center;color:var(--text-tertiary);flex-shrink:0}.info-content{display:flex;flex-direction:column;gap:2px;min-width:0}.info-label{font-size:12px;color:var(--text-tertiary)}.info-value{font-size:14px;font-weight:500;color:var(--text-primary);word-break:break-word}.info-value.mono{font-family:SF Mono,Monaco,Menlo,monospace;font-size:13px;background:var(--bg-tertiary);padding:4px 8px;border-radius:6px;display:inline-block}.role-value{text-transform:capitalize}.role-value.role-purple{color:#8b5cf6}.role-value.role-red{color:#ef4444}.role-value.role-green{color:#10b981}.role-value.role-blue{color:#3b82f6}.role-value.role-orange{color:#f59e0b}.role-value.role-gray{color:#6b7280}.profile-page .table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}.table{width:100%;border-collapse:collapse;min-width:600px}.table th,.table td{padding:12px 16px;text-align:left;font-size:13px}.table th{background:var(--bg-tertiary);font-weight:600;color:var(--text-secondary);white-space:nowrap}.table td{border-bottom:1px solid var(--border-primary);color:var(--text-primary)}.table tr:last-child td{border-bottom:none}.table tr:hover td{background:var(--bg-tertiary)}.table tbody tr td:first-child{transition:transform var(--transition-fast)}.table tbody tr:hover td:first-child{transform:translate(4px)}.request-id{font-family:SF Mono,Monaco,Menlo,monospace;font-size:12px;color:var(--primary-500);font-weight:500}.type-badge{display:inline-block;padding:4px 8px;background:var(--bg-tertiary);border-radius:6px;font-size:11px;font-weight:500;color:var(--text-secondary)}.description-cell{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-secondary)}.amount-cell{font-weight:600;font-family:SF Mono,Monaco,Menlo,monospace;font-size:12px;white-space:nowrap}.date-cell{white-space:nowrap;color:var(--text-secondary)}.mobile-request-list{padding:12px;display:flex;flex-direction:column;gap:12px}.mobile-request-card{background:var(--bg-tertiary);border-radius:12px;padding:14px;border:1px solid var(--border-primary)}.mobile-request-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.mobile-request-body{margin-bottom:12px}.mobile-request-desc{font-size:14px;color:var(--text-primary);margin:0 0 10px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.mobile-request-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.mobile-request-date{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--text-tertiary)}.mobile-request-footer{padding-top:12px;border-top:1px solid var(--border-primary)}.mobile-request-amount{font-size:16px;font-weight:700;color:var(--text-primary);font-family:SF Mono,Monaco,Menlo,monospace}.desktop-only{display:block}.mobile-only{display:none}.profile-page .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center}.empty-icon{width:64px;height:64px;border-radius:50%;background:var(--bg-tertiary);display:flex;align-items:center;justify-content:center;margin-bottom:16px;color:var(--text-tertiary)}.profile-page .empty-state h4{font-size:15px;font-weight:600;color:var(--text-primary);margin:0 0 4px}.profile-page .empty-state p{font-size:13px;color:var(--text-tertiary);margin:0}.activity-timeline{position:relative;padding-left:28px}.activity-timeline:before{content:"";position:absolute;left:7px;top:12px;bottom:12px;width:2px;background:var(--border-primary);border-radius:1px}.timeline-item{position:relative;padding-bottom:20px}.timeline-item:last-child{padding-bottom:0}.timeline-dot{position:absolute;left:-24px;top:6px;width:14px;height:14px;border-radius:50%;border:3px solid var(--bg-secondary)}.timeline-dot-success{background:#10b981}.timeline-dot-warning{background:#f59e0b}.timeline-dot-info{background:#06b6d4}.timeline-dot-error{background:#ef4444}.timeline-dot-secondary{background:#6b7280}.timeline-content{background:var(--bg-tertiary);padding:14px 16px;border-radius:12px;border:1px solid var(--border-primary)}.timeline-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:6px}.timeline-title{font-weight:600;font-size:14px;color:var(--text-primary);margin:0}.timeline-amount{font-weight:700;font-size:14px;color:var(--primary-500);font-family:SF Mono,Monaco,Menlo,monospace;white-space:nowrap}.timeline-description{font-size:13px;color:var(--text-secondary);margin:0 0 10px;line-height:1.4}.timeline-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.timeline-time{font-size:12px;color:var(--text-tertiary)}.settings-list{display:flex;flex-direction:column;gap:12px}.settings-item{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;background:var(--bg-tertiary);border-radius:12px;border:1px solid var(--border-primary)}.settings-info{flex:1;min-width:0}.settings-info h4{font-size:14px;font-weight:600;color:var(--text-primary);margin:0 0 4px}.settings-info p{font-size:12px;color:var(--text-secondary);margin:0}.toggle{position:relative;display:inline-block;width:44px;height:24px;flex-shrink:0}.toggle input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--border-primary);transition:.25s ease;border-radius:24px}.toggle-slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;transition:.25s ease;border-radius:50%;box-shadow:0 1px 3px #0000001a}.toggle input:checked+.toggle-slider{background-color:var(--primary-500)}.toggle input:checked+.toggle-slider:before{transform:translate(20px)}.toggle input:focus+.toggle-slider{box-shadow:0 0 0 2px #3b82f633}.profile-page .btn-sm{padding:8px 14px!important;font-size:13px!important}@media (max-width: 1024px){.quick-stats-bar{grid-template-columns:repeat(2,1fr)}.quick-stat-value{font-size:16px}}@media (max-width: 768px){.profile-page{padding:0 12px}.profile-header{border-radius:16px;margin-bottom:16px}.profile-header-bg{height:80px}.profile-header-body{flex-direction:column;align-items:center;padding:0 20px 20px;margin-top:-36px;gap:12px}.profile-avatar-large{width:72px;height:72px;font-size:28px;border-width:3px}.profile-header-info{flex-direction:column;align-items:center;padding-top:0;gap:12px}.profile-identity{text-align:center}.profile-name{font-size:20px;margin-bottom:4px}.profile-position{font-size:13px;margin-bottom:8px}.profile-badges{justify-content:center;gap:6px}.role-badge{padding:4px 10px;font-size:11px}.functional-badge{padding:4px 8px;font-size:11px}.profile-header-meta{flex-direction:row;flex-wrap:wrap;justify-content:center;gap:4px 16px}.profile-meta-item{font-size:12px}.quick-stats-bar{grid-template-columns:repeat(2,1fr);gap:8px}.quick-stat{padding:12px;gap:10px}.quick-stat-icon{width:36px;height:36px}.quick-stat-value{font-size:14px}.quick-stat-label{font-size:11px}.outstanding-alert{flex-wrap:wrap;padding:12px 14px}.alert-action{width:100%;text-align:right;margin-top:4px}.profile-tabs{padding:4px;gap:2px;overflow-x:auto;-webkit-overflow-scrolling:touch}.profile-tab{padding:8px 12px;font-size:13px;flex:none;min-width:0}.profile-tab span{display:none}.profile-tab svg{width:18px;height:18px}.profile-grid{grid-template-columns:1fr;gap:12px}.profile-card{border-radius:14px}.profile-card .card-header{padding:14px 16px}.profile-card .card-header h3{font-size:14px}.profile-card .card-body{padding:16px}.info-list{gap:14px}.info-icon{width:32px;height:32px}.info-label{font-size:11px}.info-value{font-size:13px}.desktop-only{display:none}.mobile-only{display:block}.timeline-content{padding:12px 14px}.timeline-header{flex-direction:column;gap:4px}.timeline-amount{font-size:13px}.settings-item{flex-direction:column;align-items:flex-start;gap:12px}.settings-item .toggle,.settings-item .btn{align-self:flex-end}.empty-state{padding:32px 20px}.empty-icon{width:56px;height:56px}}@media (max-width: 480px){.quick-stats-bar{grid-template-columns:1fr 1fr}.quick-stat{flex-direction:column;align-items:flex-start;text-align:left}.profile-header-body{padding:0 16px 16px;margin-top:-32px}.profile-avatar-large{width:64px;height:64px;font-size:24px}.profile-name{font-size:18px}.profile-header-meta{gap:4px 12px}}.items-per-page-select{display:flex;gap:.5rem;flex-shrink:0}.items-per-page-select .page-option{padding:.5rem 1rem;border:2px solid var(--border-color);border-radius:8px;background:var(--bg-primary);color:var(--text-secondary);font-size:.875rem;font-weight:500;cursor:pointer;transition:color .2s,background-color .2s,border-color .2s,box-shadow .2s,opacity .2s,transform .2s;min-width:50px;text-align:center}.items-per-page-select .page-option:hover{border-color:var(--primary-color);color:var(--primary-color)}.items-per-page-select .page-option.selected{border-color:var(--primary-color);background:var(--primary-50);color:var(--primary-color)}.settings-actions{display:flex;align-items:center;justify-content:flex-end;gap:1rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border-color)}.settings-actions .success-message{display:flex;align-items:center;gap:.375rem;color:#10b981;font-size:.875rem;font-weight:500}.settings-actions .btn{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;font-size:.875rem;font-weight:500;border-radius:8px;cursor:pointer;transition:color .2s,background-color .2s,border-color .2s,box-shadow .2s,opacity .2s,transform .2s}.settings-actions .btn-primary{background:var(--primary-color, #6366f1);color:#fff;border:none}.settings-actions .btn-primary:hover:not(:disabled){background:var(--primary-hover, #4f46e5)}.settings-actions .btn-primary:disabled{opacity:.6;cursor:not-allowed}.settings-actions .spinner{animation:spin 1s linear infinite}.profile-page .loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:2rem;color:var(--text-secondary)}.profile-page .loading-state .spinner{animation:spin 1s linear infinite}@media (max-width: 480px){.items-per-page-select{flex-wrap:wrap}.items-per-page-select .page-option{padding:.375rem .75rem;min-width:44px;font-size:.8125rem}.settings-actions{flex-direction:column;align-items:stretch}.settings-actions .success-message,.settings-actions .btn{justify-content:center}}.profile-page .modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.password-modal{background:var(--bg-primary, white);border-radius:16px;width:100%;max-width:440px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;animation:modalSlideIn .25s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.password-modal .modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border-color, #e5e7eb)}.password-modal .modal-title{display:flex;align-items:center;gap:.75rem}.password-modal .modal-title svg{color:var(--primary-color, #6366f1)}.password-modal .modal-title h2{font-size:1.125rem;font-weight:600;margin:0;color:var(--text-primary, #111827)}.password-modal .modal-close{background:none;border:none;padding:.5rem;cursor:pointer;color:var(--text-secondary, #6b7280);border-radius:8px;transition:color .2s,background-color .2s,border-color .2s,box-shadow .2s,opacity .2s,transform .2s}.password-modal .modal-close:hover{background:var(--bg-secondary, #f3f4f6);color:var(--text-primary, #111827)}.password-modal .modal-body{padding:1.5rem}.password-modal .modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid var(--border-color, #e5e7eb);background:var(--bg-secondary, #f9fafb);border-radius:0 0 16px 16px}.password-form{display:flex;flex-direction:column;gap:1.25rem}.password-form .form-group{display:flex;flex-direction:column;gap:.5rem}.password-form label{font-size:.875rem;font-weight:500;color:var(--text-primary, #111827)}.password-input-wrapper{position:relative;display:flex;align-items:center}.password-input-wrapper input{width:100%;padding:.75rem 2.75rem .75rem 1rem;border:1px solid var(--border-color, #e5e7eb);border-radius:8px;font-size:.9375rem;color:var(--text-primary, #111827);background:var(--bg-primary, white);transition:border-color .2s,box-shadow .2s}.password-input-wrapper input:focus{outline:none;border-color:var(--primary-color, #6366f1);box-shadow:0 0 0 3px #6366f11a}.password-input-wrapper input::placeholder{color:var(--text-tertiary, #9ca3af)}.password-toggle{position:absolute;right:.75rem;background:none;border:none;padding:.25rem;cursor:pointer;color:var(--text-secondary, #6b7280);display:flex;align-items:center;justify-content:center}.password-toggle:hover{color:var(--text-primary, #111827)}.password-strength{display:flex;align-items:center;gap:.75rem;margin-top:.5rem}.strength-bar{flex:1;height:6px;background:var(--bg-secondary, #e5e7eb);border-radius:3px;overflow:hidden}.strength-fill{height:100%;border-radius:3px;transition:width .3s,background-color .3s}.strength-label{font-size:.75rem;font-weight:600;min-width:50px}.password-requirements{display:grid;grid-template-columns:1fr 1fr;gap:.375rem 1rem;margin-top:.5rem;padding:.75rem;background:var(--bg-secondary, #f9fafb);border-radius:8px}.password-requirements .requirement{display:flex;align-items:center;gap:.375rem;font-size:.75rem;color:var(--text-tertiary, #9ca3af)}.password-requirements .requirement svg{flex-shrink:0;opacity:.5}.password-requirements .requirement.met{color:#10b981}.password-requirements .requirement.met svg{opacity:1}.password-mismatch,.password-match{display:flex;align-items:center;gap:.375rem;font-size:.75rem;margin-top:.25rem}.password-mismatch{color:#ef4444}.password-match{color:#10b981}.password-error{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:#ef44441a;border:1px solid rgba(239,68,68,.2);border-radius:8px;color:#dc2626;font-size:.875rem;margin-bottom:1rem}.password-success{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:2rem 1rem;gap:1rem}.password-success svg{color:#10b981}.password-success h3{font-size:1.25rem;font-weight:600;margin:0;color:var(--text-primary, #111827)}.password-success p{font-size:.875rem;color:var(--text-secondary, #6b7280);margin:0}.password-modal .btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1.25rem;font-size:.875rem;font-weight:500;border-radius:8px;cursor:pointer;transition:color .2s,background-color .2s,border-color .2s,box-shadow .2s,opacity .2s,transform .2s}.password-modal .btn-secondary{background:var(--bg-primary, white);color:var(--text-secondary, #6b7280);border:1px solid var(--border-color, #e5e7eb)}.password-modal .btn-secondary:hover:not(:disabled){background:var(--bg-secondary, #f3f4f6);color:var(--text-primary, #111827)}.password-modal .btn-primary{background:var(--primary-color, #6366f1);color:#fff;border:none}.password-modal .btn-primary:hover:not(:disabled){background:var(--primary-hover, #4f46e5)}.password-modal .btn:disabled{opacity:.5;cursor:not-allowed}.password-modal .spinner{animation:spin 1s linear infinite}@media (max-width: 480px){.password-modal{max-width:100%;margin:0;border-radius:16px 16px 0 0;position:fixed;bottom:0;left:0;right:0;max-height:85vh}.password-requirements{grid-template-columns:1fr}.password-modal .modal-footer{flex-direction:column-reverse}.password-modal .modal-footer .btn{width:100%}}.signature-preview-container{display:flex;justify-content:center;padding:16px;background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:var(--radius-md)}.signature-preview{max-height:120px;max-width:100%;object-fit:contain}.signature-actions{display:flex;align-items:center;gap:8px}.signature-upload-btn,.signature-remove-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:500;border-radius:8px;cursor:pointer;border:1px solid var(--border-primary);background:var(--bg-primary);color:var(--text-secondary);transition:background-color .2s ease,border-color .2s ease,color .2s ease}.signature-upload-btn:hover,.signature-remove-btn:hover{background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--border-secondary)}.signature-remove-btn:hover{color:#dc2626;border-color:#ef44444d;background:#ef44440d}.signature-upload-btn:disabled,.signature-remove-btn:disabled{opacity:.5;cursor:not-allowed}.signature-feedback{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:500}.signature-feedback.success{color:#059669}.signature-feedback.error{color:#dc2626}.signature-hint{font-size:12px;color:var(--text-tertiary);margin:0;line-height:1.5}@media (max-width: 640px){.signature-actions{flex-wrap:wrap}.signature-upload-btn,.signature-remove-btn{flex:1;justify-content:center}}.brand-footer{color:#fff}.brand-footer p{margin:0;color:#fff}@media (max-width: 768px){.profile-tabs{justify-content:center;flex-wrap:wrap}.profile-tab{flex:0 1 auto;padding:10px 20px}}.pagination{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;padding:1rem 0}.pagination-size{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--color-text-secondary, #64748b)}.pagination-size-select{padding:.375rem .75rem;border:1px solid var(--color-border, #e2e8f0);border-radius:var(--radius-md, 8px);background:var(--color-bg-primary, #ffffff);font-size:.875rem;color:var(--color-text-primary, #1e293b);cursor:pointer;transition:border-color .2s ease}.pagination-size-select:hover{border-color:var(--color-border-hover, #cbd5e1)}.pagination-size-select:focus{outline:none;border-color:var(--color-primary, #00A1F6);box-shadow:var(--focus-ring, 0 0 0 3px rgba(0, 161, 246, .2))}.pagination-info{font-size:.875rem;color:var(--color-text-secondary, #64748b)}.pagination-nav{display:flex;align-items:center;gap:.25rem}.pagination-btn{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:36px;padding:0 .5rem;border:1px solid var(--color-border, #e2e8f0);border-radius:var(--radius-md, 8px);background:var(--color-bg-primary, #ffffff);font-size:.875rem;font-weight:500;color:var(--color-text-secondary, #64748b);cursor:pointer;transition:color .2s ease,background-color .2s ease,border-color .2s ease,box-shadow .2s ease,opacity .2s ease,transform .2s ease}.pagination-btn:hover:not(:disabled){background:var(--color-bg-tertiary, #f1f5f9);border-color:var(--color-border-hover, #cbd5e1);color:var(--color-text-primary, #1e293b)}.pagination-btn:focus{outline:none;box-shadow:var(--focus-ring, 0 0 0 3px rgba(0, 161, 246, .2))}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.pagination-btn.active{background:var(--color-primary, #00A1F6);border-color:var(--color-primary, #00A1F6);color:#fff}.pagination-btn.active:hover{background:var(--color-primary-hover, #0091e0)}.pagination-btn-icon{padding:0}.pagination-pages{display:flex;align-items:center;gap:.25rem}.pagination-dots{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:36px;font-size:.875rem;color:var(--color-text-tertiary, #94a3b8)}.pagination-page-info{font-size:.875rem;color:var(--color-text-secondary, #64748b);white-space:nowrap}@media (max-width: 768px){.pagination{flex-direction:column;align-items:stretch;gap:.75rem}.pagination-size{justify-content:center}.pagination-info{text-align:center}.pagination-nav{justify-content:center}.pagination-page-info{text-align:center}.pagination-pages{display:none}.pagination-page-info{display:block;order:-1;margin-bottom:.5rem}}@media (max-width: 480px){.pagination-btn{min-width:44px;height:44px}.pagination-size{flex-wrap:wrap;justify-content:center;gap:.5rem}.pagination-size select{min-height:44px;font-size:1rem}.pagination-nav{width:100%;justify-content:space-between}}.datepicker-container{position:relative;width:100%}.datepicker-label{display:block;font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-primary);margin-bottom:var(--space-2)}.datepicker-label .required{color:var(--error-500);margin-left:2px}.datepicker-input-wrapper{display:flex;align-items:center;gap:var(--space-2);padding:10px 14px;background:var(--bg-primary);border:1px solid var(--border-secondary);border-radius:var(--radius-lg);cursor:pointer;transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast),transform var(--transition-fast);box-shadow:var(--shadow-xs)}.datepicker-input-wrapper:hover:not(.disabled){border-color:var(--border-tertiary)}.datepicker-input-wrapper.focused{border-color:var(--primary-400);box-shadow:var(--focus-ring)}.datepicker-input-wrapper.error{border-color:var(--error-500)}.datepicker-input-wrapper.error.focused{box-shadow:var(--focus-ring-error)}.datepicker-input-wrapper.disabled{background:var(--bg-secondary);cursor:not-allowed;opacity:.6}.datepicker-icon{color:var(--text-quaternary);flex-shrink:0}.datepicker-input{flex:1;min-width:0;border:none;background:transparent;font-family:var(--font-family);font-size:var(--text-md);color:var(--text-primary);cursor:pointer;outline:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.datepicker-input::placeholder{color:var(--text-placeholder)}.datepicker-input:disabled{cursor:not-allowed}.datepicker-clear{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;background:var(--bg-tertiary);border-radius:var(--radius-sm);color:var(--text-quaternary);cursor:pointer;transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast),transform var(--transition-fast);flex-shrink:0}.datepicker-clear:hover{background:var(--error-100);color:var(--error-600)}.datepicker-error{display:block;margin-top:var(--space-2);font-size:var(--text-sm);color:var(--error-600)}.datepicker-dropdown{position:absolute;top:calc(100% + 8px);left:0;z-index:var(--z-dropdown);width:320px;background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);overflow:hidden;animation:datepickerSlideIn var(--transition-fast) ease}.datepicker-dropdown-portal{position:fixed;top:auto;left:auto}@keyframes datepickerSlideIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.datepicker-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-primary);background:var(--bg-secondary)}.datepicker-nav{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;background:transparent;border-radius:var(--radius-md);color:var(--text-tertiary);cursor:pointer;transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast),transform var(--transition-fast)}.datepicker-nav:hover{background:var(--bg-tertiary);color:var(--text-primary)}.datepicker-title{display:flex;align-items:center;gap:var(--space-2)}.datepicker-title-btn{padding:var(--space-2) var(--space-3);font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-primary);background:transparent;border:none;border-radius:var(--radius-md);cursor:pointer;transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast),transform var(--transition-fast)}.datepicker-title-btn:hover{background:var(--bg-tertiary);color:var(--primary-600)}.datepicker-title-text{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-primary)}.datepicker-body{padding:var(--space-3) var(--space-4)}.datepicker-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:var(--space-2)}.datepicker-weekday{padding:var(--space-2);font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--text-quaternary);text-align:center;text-transform:uppercase;letter-spacing:.03em}.datepicker-days{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.datepicker-day{display:flex;align-items:center;justify-content:center;width:38px;height:38px;font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-secondary);background:transparent;border:none;border-radius:var(--radius-md);cursor:pointer;transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast),transform var(--transition-fast)}.datepicker-day:hover:not(:disabled){background:var(--bg-secondary);color:var(--text-primary)}.datepicker-day:disabled{color:var(--text-disabled);cursor:not-allowed}.datepicker-day.other-month{color:var(--text-placeholder)}.datepicker-day.today{background:var(--primary-50);color:var(--primary-700);font-weight:var(--font-semibold)}.datepicker-day.selected{background:var(--primary-600);color:var(--text-white);font-weight:var(--font-semibold)}.datepicker-day.selected:hover{background:var(--primary-700);color:var(--text-white)}.datepicker-months{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2)}.datepicker-month{padding:var(--space-3) var(--space-2);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-secondary);background:transparent;border:none;border-radius:var(--radius-lg);cursor:pointer;transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast),transform var(--transition-fast)}.datepicker-month:hover{background:var(--bg-secondary);color:var(--text-primary)}.datepicker-month.selected{background:var(--primary-600);color:var(--text-white)}.datepicker-years{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2)}.datepicker-year{padding:var(--space-3) var(--space-2);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-secondary);background:transparent;border:none;border-radius:var(--radius-lg);cursor:pointer;transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast),transform var(--transition-fast)}.datepicker-year:hover{background:var(--bg-secondary);color:var(--text-primary)}.datepicker-year.selected{background:var(--primary-600);color:var(--text-white)}.datepicker-footer{display:flex;justify-content:center;padding:var(--space-3) var(--space-4);border-top:1px solid var(--border-primary);background:var(--bg-secondary)}.datepicker-today{padding:var(--space-2) var(--space-4);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--primary-600);background:var(--primary-50);border:none;border-radius:var(--radius-md);cursor:pointer;transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast),transform var(--transition-fast)}.datepicker-today:hover{background:var(--primary-100);color:var(--primary-700)}.form-row>.datepicker-container{display:flex;flex-direction:column;justify-content:flex-end}.form-row>.form-group{display:flex;flex-direction:column;justify-content:flex-end;margin-bottom:0}.form-row .datepicker-input-wrapper{height:44px;box-sizing:border-box}@media (max-width: 480px){.datepicker-dropdown{width:calc(100vw - 32px);max-width:320px}.datepicker-day{width:100%;height:40px}}.export-options-body{display:flex;flex-direction:column;gap:1.25rem}.export-field-group{display:flex;flex-direction:column;gap:.5rem}.export-field-label{font-size:.8125rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.export-preset-row{display:flex;flex-wrap:wrap;gap:.375rem}.export-preset-btn{padding:.25rem .625rem;font-size:.75rem;font-weight:500;border-radius:var(--radius-full);border:1px solid var(--border-primary);background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease;white-space:nowrap}.export-preset-btn:hover{border-color:var(--primary-500);color:var(--primary-600);background:var(--primary-50)}.export-preset-btn.active{background:var(--primary-500);border-color:var(--primary-500);color:#fff}.export-daterange-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.export-select{width:100%;padding:.5rem 2rem .5rem .75rem;font-size:.875rem;border:1px solid var(--border-primary);border-radius:var(--radius-md);background:var(--bg-primary);color:var(--text-primary);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;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='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .625rem center;transition:border-color .15s ease}.export-select:focus{outline:none;border-color:var(--primary-500)}.export-modal-footer{display:flex;justify-content:flex-end;gap:.75rem}@media (max-width: 640px){.export-daterange-row{grid-template-columns:1fr}.export-modal-footer{flex-direction:column-reverse}.export-modal-footer .btn{width:100%;justify-content:center}}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:3rem 2rem;background:var(--bg-secondary);border-radius:12px;border:1px dashed var(--border-primary)}.empty-state-small{padding:1.5rem 1rem}.empty-state-small .empty-state-title{font-size:.875rem}.empty-state-small .empty-state-description{font-size:.75rem}.empty-state-large{padding:4rem 2rem}.empty-state-large .empty-state-title{font-size:1.5rem}.empty-state-large .empty-state-description{font-size:1rem}.empty-state-icon{display:flex;align-items:center;justify-content:center;width:80px;height:80px;margin-bottom:1.25rem;background:var(--neutral-100);border-radius:50%;color:var(--neutral-400)}.empty-state-small .empty-state-icon{width:56px;height:56px;margin-bottom:.75rem}.empty-state-large .empty-state-icon{width:100px;height:100px;margin-bottom:1.5rem}.empty-state-title{margin:0 0 .5rem;font-size:1.125rem;font-weight:600;color:var(--text-primary)}.empty-state-description{margin:0 0 1.25rem;font-size:.875rem;color:var(--text-secondary);max-width:320px;line-height:1.5}.empty-state-action{margin-top:.5rem}@keyframes emptyStateAppear{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.empty-state{animation:emptyStateAppear .3s ease-out}:root{--react-pdf-annotation-layer: 1;--annotation-unfocused-field-background: url("data:image/svg+xml;charset=UTF-8,<svg width='1px' height='1px' xmlns='http://www.w3.org/2000/svg'><rect width='100%' height='100%' style='fill:rgba(0, 54, 255, 0.13);'/></svg>");--input-focus-border-color: Highlight;--input-focus-outline: 1px solid Canvas;--input-unfocused-border-color: transparent;--input-disabled-border-color: transparent;--input-hover-border-color: black;--link-outline: none}@media screen and (forced-colors: active){:root{--input-focus-border-color: CanvasText;--input-unfocused-border-color: ActiveText;--input-disabled-border-color: GrayText;--input-hover-border-color: Highlight;--link-outline: 1.5px solid LinkText}.annotationLayer .textWidgetAnnotation :is(input,textarea):required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required{outline:1.5px solid selectedItem}.annotationLayer .linkAnnotation:hover{-webkit-backdrop-filter:invert(100%);backdrop-filter:invert(100%)}}.annotationLayer{position:absolute;top:0;left:0;pointer-events:none;transform-origin:0 0;z-index:3}.annotationLayer[data-main-rotation="90"] .norotate{transform:rotate(270deg) translate(-100%)}.annotationLayer[data-main-rotation="180"] .norotate{transform:rotate(180deg) translate(-100%,-100%)}.annotationLayer[data-main-rotation="270"] .norotate{transform:rotate(90deg) translateY(-100%)}.annotationLayer canvas{position:absolute;width:100%;height:100%}.annotationLayer section{position:absolute;text-align:initial;pointer-events:auto;box-sizing:border-box;margin:0;transform-origin:0 0}.annotationLayer .linkAnnotation{outline:var(--link-outline)}.textLayer.selecting~.annotationLayer section{pointer-events:none}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a{position:absolute;font-size:1em;top:0;left:0;width:100%;height:100%}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a:hover{opacity:.2;background:#ff0;box-shadow:0 2px 10px #ff0}.annotationLayer .textAnnotation img{position:absolute;cursor:pointer;width:100%;height:100%;top:0;left:0}.annotationLayer .textWidgetAnnotation :is(input,textarea),.annotationLayer .choiceWidgetAnnotation select,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{background-image:var(--annotation-unfocused-field-background);border:2px solid var(--input-unfocused-border-color);box-sizing:border-box;font:calc(9px * var(--total-scale-factor)) sans-serif;height:100%;margin:0;vertical-align:top;width:100%}.annotationLayer .textWidgetAnnotation :is(input,textarea):required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required{outline:1.5px solid red}.annotationLayer .choiceWidgetAnnotation select option{padding:0}.annotationLayer .buttonWidgetAnnotation.radioButton input{border-radius:50%}.annotationLayer .textWidgetAnnotation textarea{resize:none}.annotationLayer .textWidgetAnnotation :is(input,textarea)[disabled],.annotationLayer .choiceWidgetAnnotation select[disabled],.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input[disabled]{background:none;border:2px solid var(--input-disabled-border-color);cursor:not-allowed}.annotationLayer .textWidgetAnnotation :is(input,textarea):hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:hover{border:2px solid var(--input-hover-border-color)}.annotationLayer .textWidgetAnnotation :is(input,textarea):hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .buttonWidgetAnnotation.checkBox input:hover{border-radius:2px}.annotationLayer .textWidgetAnnotation :is(input,textarea):focus,.annotationLayer .choiceWidgetAnnotation select:focus{background:none;border:2px solid var(--input-focus-border-color);border-radius:2px;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) :focus{background-image:none;background-color:transparent}.annotationLayer .buttonWidgetAnnotation.checkBox :focus{border:2px solid var(--input-focus-border-color);border-radius:2px;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.radioButton :focus{border:2px solid var(--input-focus-border-color);outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after,.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{background-color:CanvasText;content:"";display:block;position:absolute}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{height:80%;left:45%;width:1px}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before{transform:rotate(45deg)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{transform:rotate(-45deg)}.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{border-radius:50%;height:50%;left:30%;top:20%;width:50%}.annotationLayer .textWidgetAnnotation input.comb{font-family:monospace;padding-left:2px;padding-right:0}.annotationLayer .textWidgetAnnotation input.comb:focus{width:103%}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{-webkit-appearance:none;-moz-appearance:none;appearance:none}.annotationLayer .popupTriggerArea{height:100%;width:100%}.annotationLayer .fileAttachmentAnnotation .popupTriggerArea{position:absolute}.annotationLayer .popupWrapper{position:absolute;font-size:calc(9px * var(--total-scale-factor));width:100%;min-width:calc(180px * var(--total-scale-factor));pointer-events:none}.annotationLayer .popup{position:absolute;max-width:calc(180px * var(--total-scale-factor));background-color:#ff9;box-shadow:0 calc(2px * var(--total-scale-factor)) calc(5px * var(--total-scale-factor)) #888;border-radius:calc(2px * var(--total-scale-factor));padding:calc(6px * var(--total-scale-factor));margin-left:calc(5px * var(--total-scale-factor));cursor:pointer;font:message-box;white-space:normal;word-wrap:break-word;pointer-events:auto}.annotationLayer .popup>*{font-size:calc(9px * var(--total-scale-factor))}.annotationLayer .popup h1{display:inline-block}.annotationLayer .popupDate{display:inline-block;margin-left:calc(5px * var(--total-scale-factor))}.annotationLayer .popupContent{border-top:1px solid rgba(51,51,51,1);margin-top:calc(2px * var(--total-scale-factor));padding-top:calc(2px * var(--total-scale-factor))}.annotationLayer .richText>*{white-space:pre-wrap;font-size:calc(9px * var(--total-scale-factor))}.annotationLayer .highlightAnnotation,.annotationLayer .underlineAnnotation,.annotationLayer .squigglyAnnotation,.annotationLayer .strikeoutAnnotation,.annotationLayer .freeTextAnnotation,.annotationLayer .lineAnnotation svg line,.annotationLayer .squareAnnotation svg rect,.annotationLayer .circleAnnotation svg ellipse,.annotationLayer .polylineAnnotation svg polyline,.annotationLayer .polygonAnnotation svg polygon,.annotationLayer .caretAnnotation,.annotationLayer .inkAnnotation svg polyline,.annotationLayer .stampAnnotation,.annotationLayer .fileAttachmentAnnotation{cursor:pointer}.annotationLayer section svg{position:absolute;width:100%;height:100%;top:0;left:0}.annotationLayer .annotationTextContent{position:absolute;width:100%;height:100%;opacity:0;color:transparent;-webkit-user-select:none;user-select:none;pointer-events:none}.annotationLayer .annotationTextContent span{width:100%;display:inline-block}:root{--react-pdf-text-layer: 1;--highlight-bg-color: rgba(180, 0, 170, 1);--highlight-selected-bg-color: rgba(0, 100, 0, 1)}@media screen and (forced-colors: active){:root{--highlight-bg-color: Highlight;--highlight-selected-bg-color: ButtonText}}[data-main-rotation="90"]{transform:rotate(90deg) translateY(-100%)}[data-main-rotation="180"]{transform:rotate(180deg) translate(-100%,-100%)}[data-main-rotation="270"]{transform:rotate(270deg) translate(-100%)}.textLayer{position:absolute;text-align:initial;top:0;right:0;bottom:0;left:0;overflow:hidden;line-height:1;text-size-adjust:none;forced-color-adjust:none;transform-origin:0 0;z-index:2}.textLayer :is(span,br){color:transparent;position:absolute;white-space:pre;cursor:text;margin:0;transform-origin:0 0}.textLayer span.markedContent{top:0;height:0}.textLayer .highlight{margin:-1px;padding:1px;background-color:var(--highlight-bg-color);border-radius:4px}.textLayer .highlight.appended{position:initial}.textLayer .highlight.begin{border-radius:4px 0 0 4px}.textLayer .highlight.end{border-radius:0 4px 4px 0}.textLayer .highlight.middle{border-radius:0}.textLayer .highlight.selected{background-color:var(--highlight-selected-bg-color)}.textLayer br::selection{background:transparent}.textLayer .endOfContent{display:block;position:absolute;top:100%;right:0;bottom:0;left:0;z-index:-1;cursor:default;-webkit-user-select:none;user-select:none}.textLayer.selecting .endOfContent{top:0}.hiddenCanvasElement{position:absolute;top:0;left:0;width:0;height:0;display:none}.pdf-viewer{display:flex;flex-direction:column;width:100%;height:100%;background:var(--neutral-900)}.pdf-toolbar{display:flex;align-items:center;justify-content:center;gap:16px;padding:8px 16px;background:var(--neutral-800);border-bottom:1px solid var(--neutral-700);flex-shrink:0;flex-wrap:wrap}.pdf-toolbar-group{display:flex;align-items:center;gap:4px}.pdf-toolbar-divider{width:1px;height:24px;background:var(--neutral-600);margin:0 4px}.pdf-toolbar-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;border-radius:var(--radius-sm);color:var(--neutral-300);cursor:pointer;transition:background-color .15s,color .15s}.pdf-toolbar-btn:hover:not(:disabled){background:var(--neutral-700);color:var(--neutral-100)}.pdf-toolbar-btn:disabled{opacity:.35;cursor:not-allowed}.pdf-toolbar-btn.active{background:var(--primary-600);color:#fff}.pdf-toolbar-btn.active:hover{background:var(--primary-500)}.pdf-page-input{width:48px;height:28px;padding:0 4px;text-align:center;font-size:13px;font-weight:500;color:var(--neutral-200);background:var(--neutral-700);border:1px solid var(--neutral-600);border-radius:var(--radius-sm);outline:none;-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.pdf-page-input::-webkit-inner-spin-button,.pdf-page-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.pdf-page-input:focus{border-color:var(--primary-400);box-shadow:0 0 0 2px #00a1f633}.pdf-toolbar-label{font-size:13px;color:var(--neutral-400);white-space:nowrap;-webkit-user-select:none;user-select:none}.pdf-zoom-label{font-size:12px;font-weight:500;color:var(--neutral-300);min-width:40px;text-align:center;-webkit-user-select:none;user-select:none}.pdf-content{flex:1;overflow:auto;display:flex;flex-direction:column;align-items:center;gap:16px;padding:24px 16px;position:relative;scroll-behavior:smooth}.pdf-page-wrapper{box-shadow:0 4px 20px #0006;line-height:0;scroll-margin-top:16px}.pdf-page-fallback{line-height:1.4;background:#ef44440f;color:var(--text-secondary, #64748b);border:1px dashed rgba(239,68,68,.3);border-radius:8px;padding:24px 32px;font-size:13px;text-align:center;min-width:200px}.pdf-page-wrapper canvas{display:block;max-width:100%;height:auto!important}.pdf-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:48px;color:var(--neutral-400);font-size:14px;width:100%;height:100%;min-height:300px}.pdf-loading .spinner{animation:pdf-spin 1s linear infinite;color:var(--primary-400)}@keyframes pdf-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.pdf-error{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:48px 24px;text-align:center;width:100%;height:100%;min-height:300px}.pdf-error-icon{color:var(--error-400)}.pdf-error-title{font-size:16px;font-weight:600;color:var(--neutral-200);margin:0}.pdf-error-message{font-size:14px;color:var(--neutral-400);max-width:400px;line-height:1.5;margin:0}.pdf-error-download{display:inline-flex;align-items:center;gap:8px;padding:8px 20px;background:var(--primary-600);color:#fff;border:none;border-radius:var(--radius-sm);font-size:14px;font-weight:500;cursor:pointer;transition:background-color .15s}.pdf-error-download:hover{background:var(--primary-500)}@media (max-width: 640px){.pdf-toolbar{padding:6px 8px;gap:8px}.pdf-toolbar-btn{width:36px;height:36px}.pdf-zoom-label{display:none}.pdf-content{padding:12px 4px}.pdf-toolbar-divider{display:none}}.attachments-viewer{background:var(--neutral-50);border:1px solid var(--neutral-200);border-radius:8px;overflow:hidden}.attachments-viewer.compact{background:transparent;border:none}.attachments-header{display:flex;align-items:center;gap:8px;padding:12px 16px;background:var(--neutral-100);border-bottom:1px solid var(--neutral-200);font-weight:600;color:var(--neutral-700)}.attachments-viewer.compact .attachments-header{padding:8px 0;background:transparent;border-bottom:none;font-size:14px}.attachments-count{margin-left:auto;font-size:12px;font-weight:500;color:var(--neutral-500);background:var(--neutral-200);padding:2px 8px;border-radius:10px}.attachments-loading,.attachments-empty{display:flex;align-items:center;justify-content:center;gap:8px;padding:24px;color:var(--neutral-500);font-size:14px}.attachments-loading .spinner{animation:spin 1s linear infinite}.attachments-content{padding:8px}.attachments-viewer.compact .attachments-content{padding:0}.attachment-category{margin-bottom:8px}.attachment-category:last-child{margin-bottom:0}.category-header{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;background:var(--neutral-100);border:none;border-radius:6px;cursor:pointer;font-size:13px;font-weight:600;color:var(--neutral-700);transition:background-color .15s}.category-header:hover{background:var(--neutral-200)}.category-label{flex:1;text-align:left}.category-count{font-size:11px;font-weight:500;color:var(--neutral-500);background:var(--neutral-200);padding:2px 6px;border-radius:8px}.category-files{margin-top:4px;padding-left:24px}.attachment-item{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:#fff;border:1px solid var(--neutral-200);border-radius:6px;margin-bottom:4px;transition:border-color .15s,box-shadow .15s}.attachment-item:hover{border-color:var(--primary-300);box-shadow:0 1px 3px #0000000d}.attachment-item:last-child{margin-bottom:0}.attachment-info{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.file-icon{flex-shrink:0;color:var(--neutral-400)}.file-icon.image{color:var(--success-500)}.file-icon.pdf{color:var(--danger-500)}.attachment-details{display:flex;flex-direction:column;min-width:0}.attachment-name{font-size:13px;font-weight:500;color:var(--neutral-800);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.attachment-size{font-size:11px;color:var(--neutral-500)}.attachment-actions{display:flex;align-items:center;gap:4px;margin-left:12px}.attachment-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:transparent;border-radius:4px;color:var(--neutral-500);cursor:pointer;transition:background-color .15s,color .15s;text-decoration:none}.attachment-btn:hover{background:var(--neutral-100);color:var(--primary-600)}.preview-overlay{position:fixed;top:0;right:0;bottom:0;left:var(--sidebar-width, 280px);background:#000c;display:flex;align-items:center;justify-content:center;z-index:1200;padding:24px}@media (max-width: 1024px){.preview-overlay{left:var(--sidebar-width-collapsed, 80px)}}@media (max-width: 768px){.preview-overlay{left:0}}.preview-content-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--neutral-400);font-size:14px;min-height:200px}.preview-content-loading .spinner{animation:spin 1s linear infinite;color:var(--primary-400)}.preview-modal{background:#fff;border-radius:12px;max-width:90vw;max-height:90vh;width:100%;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 40px #0000004d}.preview-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--neutral-100);border-bottom:1px solid var(--neutral-200)}.preview-title{font-weight:600;color:var(--neutral-800);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.preview-actions{display:flex;align-items:center;gap:4px}.preview-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;background:transparent;border-radius:6px;color:var(--neutral-600);cursor:pointer;transition:background-color .15s,color .15s;text-decoration:none}.preview-btn:hover{background:var(--neutral-200);color:var(--primary-600)}.preview-btn.close:hover{background:var(--danger-100);color:var(--danger-600)}.preview-content{flex:1;overflow:auto;display:flex;align-items:center;justify-content:center;background:var(--neutral-900);min-height:400px}.preview-image{max-width:100%;max-height:80vh;object-fit:contain}.preview-unsupported{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:48px;color:var(--neutral-400)}.preview-unsupported p{color:var(--neutral-500)}.attachment-list{display:flex;flex-direction:column;gap:4px}@media (max-width: 640px){.attachment-item{flex-direction:column;align-items:flex-start;gap:8px}.attachment-actions{margin-left:0;align-self:flex-end}.preview-modal{max-width:100%;max-height:100%;border-radius:0}.preview-content{min-height:300px}}.line-items-list{display:flex;flex-direction:column;gap:8px;margin-top:8px}.line-item-ppn{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;margin-top:4px;font-size:var(--text-xs);color:var(--text-secondary)}.line-item-ppn-value{font-family:monospace;font-weight:600;color:var(--text-primary)}.line-item-faktur{color:var(--text-tertiary)}.line-item-faktur--missing{color:var(--warning-700)}.line-item-card{border:1px solid var(--border-primary);border-radius:var(--radius-md);padding:12px;background:var(--bg-secondary)}.line-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.line-item-number{font-size:var(--text-xs);font-weight:600;color:var(--text-tertiary)}.line-item-amount{font-weight:600;font-family:monospace;color:var(--text-primary)}.line-item-description{margin:0;font-size:var(--text-sm);color:var(--text-secondary);line-height:1.5;white-space:pre-wrap;word-break:break-word}.line-item-files{display:flex;flex-direction:column;gap:4px;margin-top:8px;padding-top:8px;border-top:1px solid var(--border-primary)}.line-item-file{display:flex;align-items:center;gap:6px;padding:4px 8px;background:var(--bg-tertiary);border-radius:var(--radius-sm);font-size:var(--text-xs)}.line-item-file .file-icon{flex-shrink:0;color:var(--text-tertiary)}.line-item-file .file-icon.image{color:var(--primary-500)}.line-item-file .file-icon.pdf{color:var(--error-500)}.line-item-filename{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-secondary)}.line-item-file-actions{display:flex;gap:2px;flex-shrink:0}.line-item-file-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;background:transparent;border-radius:var(--radius-sm);color:var(--text-tertiary);cursor:pointer;transition:background .15s ease,color .15s ease}.line-item-file-btn:hover{background:var(--bg-primary);color:var(--primary-600)}.line-items-total{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:var(--primary-50);border:1px solid var(--primary-200);border-radius:var(--radius-md);font-weight:600;color:var(--primary-600)}.line-items-total span:last-child{font-family:monospace;font-weight:700}.rdm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1100;padding:16px;animation:rdmFadeIn .15s ease}@keyframes rdmFadeIn{0%{opacity:0}to{opacity:1}}.rdm-dialog{background:var(--bg-primary);border-radius:var(--radius-xl);width:100%;max-width:580px;max-height:88vh;display:flex;flex-direction:column;box-shadow:var(--shadow-xl);overflow:hidden;animation:rdmSlideUp .2s cubic-bezier(.16,1,.3,1)}@keyframes rdmSlideUp{0%{transform:translateY(14px);opacity:0}to{transform:translateY(0);opacity:1}}.rdm-head{display:flex;align-items:flex-start;gap:14px;padding:20px 22px 18px;border-bottom:1px solid var(--border-primary);flex-shrink:0}.rdm-head-icon{width:40px;height:40px;border-radius:var(--radius-lg);background:var(--primary-50);color:var(--primary-600);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:3px}.rdm-head-body{flex:1;min-width:0}.rdm-head-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px}.rdm-request-num{font-family:SF Mono,Monaco,Inconsolata,monospace;font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-tertiary);letter-spacing:.02em}.rdm-close{width:28px;height:28px;border:none;background:transparent;color:var(--text-tertiary);border-radius:var(--radius-md);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s,color .15s}.rdm-close:hover{background:var(--bg-tertiary);color:var(--text-primary)}.rdm-head-amount{font-size:24px;font-weight:var(--font-bold);color:var(--text-primary);letter-spacing:-.025em;line-height:1.1;margin-bottom:9px}.rdm-head-badges{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.rdm-type-badge{display:inline-flex;align-items:center;padding:2px 9px;background:var(--bg-tertiary);color:var(--text-secondary);border-radius:var(--radius-full);font-size:11px;font-weight:var(--font-medium)}.rdm-body{flex:1;overflow-y:auto;padding:4px 22px 20px}.rdm-description{margin:14px 0 6px;padding:11px 14px;background:var(--bg-secondary);border-radius:var(--radius-md);border-left:3px solid var(--primary-200);font-size:var(--text-sm);color:var(--text-primary);line-height:1.55}.rdm-section{padding-top:16px;margin-top:16px;border-top:1px solid var(--border-primary)}.rdm-body>.rdm-section:first-of-type,.rdm-description+.rdm-section{border-top:none}.rdm-section-title{display:flex;align-items:center;gap:5px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-tertiary);margin:0 0 10px;-webkit-user-select:none;user-select:none}.rdm-section-alert{background:var(--error-50);border:1px solid var(--error-100);border-radius:var(--radius-md);padding:12px 14px;border-top:1px solid var(--error-100)!important}.rdm-section-alert .rdm-section-title{color:var(--error-600)}.rdm-section-paid{background:var(--success-50);border:1px solid var(--success-100);border-radius:var(--radius-md);padding:12px 14px;border-top:1px solid var(--success-100)!important}.rdm-section-paid .rdm-section-title{color:var(--success-700)}.rdm-fields{display:flex;flex-direction:column}.rdm-field{display:grid;grid-template-columns:112px 1fr;gap:8px;padding:5px 0;align-items:baseline}.rdm-field+.rdm-field{border-top:1px solid var(--border-primary)}.rdm-section-alert .rdm-field+.rdm-field,.rdm-section-paid .rdm-field+.rdm-field{border-top-color:transparent}.rdm-fl{font-size:12px;color:var(--text-tertiary);line-height:1.4}.rdm-fv{font-size:13px;color:var(--text-primary);line-height:1.45;word-break:break-word}.rdm-fv-sub{color:var(--text-tertiary);font-size:12px}.rdm-mono{font-family:SF Mono,Monaco,Inconsolata,monospace;font-size:12.5px}.rdm-fv-amount{font-weight:var(--font-semibold);color:var(--success-600)}.rdm-fv-error{color:var(--error-700)}.rdm-classify{display:inline-flex;align-items:center;padding:2px 8px;border-radius:var(--radius-md);font-size:12px;font-weight:var(--font-medium)}.rdm-classify-int{background:var(--info-50);color:var(--info-700)}.rdm-classify-ext{background:var(--success-50);color:var(--success-700)}.rdm-attachments{margin-top:16px;border-top:1px solid var(--border-primary);padding-top:16px}.rdm-foot{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:14px 22px;border-top:1px solid var(--border-primary);background:var(--bg-secondary);flex-shrink:0}@media (max-width: 640px){.rdm-overlay{padding:0;align-items:flex-end}.rdm-dialog{border-radius:16px 16px 0 0;max-height:92dvh;max-width:100%}.rdm-head-amount{font-size:20px}.rdm-field{grid-template-columns:96px 1fr}}.ap-requests{max-width:1400px;margin:0 auto}.ap-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-4);margin-bottom:var(--space-6)}.ap-stat-card{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-5);background:var(--bg-primary);border-radius:var(--radius-xl);border:1px solid var(--border-primary);transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast),transform var(--transition-fast)}.ap-stat-card:hover{box-shadow:var(--shadow-md);border-color:var(--border-secondary)}.ap-stat-card.active{border-color:var(--primary-500);background:var(--primary-50)}.ap-stat-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-lg);color:var(--text-white);flex-shrink:0}.ap-stat-icon.pending{background:linear-gradient(135deg,var(--warning-500) 0%,var(--warning-600) 100%)}.ap-stat-icon.approved{background:linear-gradient(135deg,var(--success-500) 0%,var(--success-600) 100%)}.ap-stat-icon.rejected{background:linear-gradient(135deg,var(--error-500) 0%,var(--error-600) 100%)}.ap-stat-icon.total{background:linear-gradient(135deg,var(--primary-500) 0%,var(--primary-600) 100%)}.ap-stat-icon.info{background:linear-gradient(135deg,var(--info-500) 0%,var(--info-600) 100%)}.ap-stat-info{display:flex;flex-direction:column;min-width:0}.ap-stat-value{font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ap-stat-label{font-size:var(--text-xs);color:var(--text-tertiary)}.filters-bar{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-6);flex-wrap:wrap}.search-box{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);flex:1;min-width:200px;max-width:400px;transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast),transform var(--transition-fast)}.search-box:focus-within{border-color:var(--primary-300);box-shadow:var(--focus-ring)}.search-box svg{color:var(--text-placeholder);flex-shrink:0}.search-box input{flex:1;border:none;outline:none;font-size:var(--text-sm);color:var(--text-primary);background:transparent;min-width:0}.search-box input::placeholder{color:var(--text-placeholder)}.filter-group{display:flex;align-items:center;gap:var(--space-2)}.filter-select{padding:var(--space-2) var(--space-4);padding-right:var(--space-10);font-size:var(--text-sm);color:var(--text-secondary);background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;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='%236B7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast),transform var(--transition-fast)}.filter-select:hover{border-color:var(--border-secondary)}.filter-select:focus{outline:none;border-color:var(--primary-300);box-shadow:var(--focus-ring)}.requests-card{background:var(--bg-primary);border-radius:var(--radius-xl);border:1px solid var(--border-primary);overflow:hidden}.ap-requests .table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}.requests-table{min-width:700px;table-layout:auto}.requests-table th{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary);font-weight:var(--font-semibold)}.requests-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.requests-table th.sortable:hover{color:var(--text-primary);background:var(--bg-secondary)}.requests-table th.sortable svg{display:inline-block;vertical-align:middle;margin-left:4px}.request-row{transition:background var(--transition-fast)}.request-row:hover{background:var(--bg-secondary)}.request-id{font-family:SF Mono,Monaco,Inconsolata,monospace;font-weight:var(--font-semibold);color:var(--primary-600);font-size:var(--text-sm)}.type-cell{display:flex;align-items:center;gap:var(--space-2)}.type-icon{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);border-radius:var(--radius-md);color:var(--text-tertiary);flex-shrink:0}.type-name{text-transform:capitalize;font-size:var(--text-sm);color:var(--text-secondary)}.submitter-cell{display:flex;align-items:center;gap:var(--space-3)}.submitter-info{display:flex;flex-direction:column}.submitter-name{font-weight:var(--font-medium);color:var(--text-primary);font-size:var(--text-sm)}.submitter-dept{font-size:var(--text-xs);color:var(--text-quaternary)}.description-cell{font-size:var(--text-sm);color:var(--text-tertiary);max-width:300px;white-space:normal;word-break:break-word;line-height:1.4;display:block}.amount-cell{font-weight:var(--font-semibold);color:var(--text-primary)}.date-cell{font-size:var(--text-sm);color:var(--text-tertiary)}.actions-cell{display:flex;align-items:center;gap:var(--space-1)}.action-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--radius-md);color:var(--text-tertiary);cursor:pointer;transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast),transform var(--transition-fast)}.action-btn:hover{background:var(--bg-tertiary);color:var(--text-secondary)}.action-btn-danger:hover{background:var(--error-50);color:var(--error-600)}.action-btn-primary:hover{background:var(--primary-50);color:var(--primary-600)}.action-btn-settlement{color:var(--warning-600)}.action-btn-settlement:hover{background:var(--warning-50);color:var(--warning-700)}.ap-requests .pagination{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4) var(--space-5);border-top:1px solid var(--border-primary);gap:var(--space-4)}.ap-requests .pagination-info{font-size:var(--text-sm);color:var(--text-tertiary)}.ap-requests .pagination-controls{display:flex;align-items:center;gap:var(--space-2)}.page-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--border-primary);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--text-tertiary);cursor:pointer;transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast),transform var(--transition-fast)}.page-btn:hover{border-color:var(--primary-300);color:var(--primary-600)}.page-btn.active{background:var(--primary-600);border-color:var(--primary-600);color:var(--text-white)}.request-card{background:var(--bg-primary);border-radius:var(--radius-xl);border:1px solid var(--border-primary);padding:var(--space-4);margin-bottom:var(--space-3)}.request-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-3)}.request-card-id{font-family:SF Mono,Monaco,Inconsolata,monospace;font-weight:var(--font-semibold);color:var(--primary-600);font-size:var(--text-sm)}.request-card-body{margin-bottom:var(--space-3)}.request-card-title{font-weight:var(--font-semibold);color:var(--text-primary);margin-bottom:var(--space-1)}.request-card-description{font-size:var(--text-sm);color:var(--text-tertiary);margin-bottom:var(--space-3)}.request-card-meta{display:flex;flex-wrap:wrap;gap:var(--space-3);font-size:var(--text-sm);color:var(--text-tertiary)}.request-card-meta-item{display:flex;align-items:center;gap:var(--space-1)}.request-card-footer{display:flex;justify-content:space-between;align-items:center;padding-top:var(--space-3);border-top:1px solid var(--border-primary)}.request-card-amount{font-size:var(--text-lg);font-weight:var(--font-bold);color:var(--text-primary)}.request-card-actions{display:flex;gap:var(--space-2)}@media (max-width: 1280px){.ap-stats{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.ap-stats{grid-template-columns:repeat(2,1fr);gap:var(--space-3)}.ap-stat-card{padding:var(--space-4);gap:var(--space-3)}.ap-stat-icon{width:40px;height:40px}.ap-stat-value{font-size:var(--text-lg)}.filters-bar{flex-direction:column;align-items:stretch;gap:var(--space-3)}.search-box{max-width:100%}.filter-group{flex-wrap:wrap;width:100%}.filter-select{flex:1;min-width:0}.filter-group .btn{flex:1}.requests-card .table-container{display:none}.mobile-cards{display:block;padding:var(--space-4)}.pagination{flex-direction:column;gap:var(--space-3)}}@media (max-width: 480px){.ap-stats{grid-template-columns:1fr}.ap-stat-card{flex-direction:row}}.request-detail-modal{max-width:700px;max-height:90vh;display:flex;flex-direction:column}.request-detail-modal .modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-primary)}.request-detail-modal .modal-title-section{display:flex;align-items:center;gap:var(--space-3)}.request-detail-modal .modal-title-section h2{margin:0;font-size:var(--text-lg);font-weight:var(--font-semibold)}.request-detail-modal .request-number{padding:var(--space-1) var(--space-2);background:var(--bg-tertiary);color:var(--text-secondary);font-size:var(--text-xs);font-family:var(--font-mono);border-radius:var(--radius-md)}.request-detail-modal .close-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:transparent;border:none;color:var(--text-tertiary);border-radius:var(--radius-md);cursor:pointer;transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast),transform var(--transition-fast)}.request-detail-modal .close-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.request-detail-modal .modal-body{flex:1;overflow-y:auto;padding:var(--space-5)}.request-detail-modal .detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4);margin-bottom:var(--space-5)}.request-detail-modal .detail-section{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);padding:var(--space-4)}.request-detail-modal .detail-section h4{margin:0 0 var(--space-3) 0;font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-primary);display:flex;align-items:center;gap:var(--space-2)}.request-detail-modal .detail-row{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-2) 0;font-size:var(--text-sm)}.request-detail-modal .detail-row:not(:last-child){border-bottom:1px solid var(--border-primary)}.request-detail-modal .detail-row svg{color:var(--text-tertiary);flex-shrink:0;margin-top:2px}.request-detail-modal .detail-row .label{color:var(--text-tertiary);min-width:100px;flex-shrink:0}.request-detail-modal .detail-row .value{color:var(--text-primary);flex:1;word-break:break-word}.request-detail-modal .detail-row .value.amount{font-weight:var(--font-semibold);color:var(--success-600)}.request-detail-modal .documents-section{margin-top:var(--space-4)}.request-detail-modal .modal-footer{display:flex;justify-content:flex-end;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-top:1px solid var(--border-primary);background:var(--bg-secondary)}.request-detail-modal .classification-badge{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-2);border-radius:var(--radius-md);font-size:var(--text-xs);font-weight:var(--font-semibold)}.request-detail-modal .classification-badge.internal{background:var(--info-50);color:var(--info-700)}.request-detail-modal .classification-badge.external{background:var(--success-50);color:var(--success-700)}@media (max-width: 640px){.request-detail-modal .detail-grid{grid-template-columns:1fr}.request-detail-modal .modal-title-section{flex-direction:column;align-items:flex-start;gap:var(--space-1)}}.ap-requests .modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1100;padding:var(--space-4)}.ap-requests .modal-content{background:var(--bg-primary);border-radius:var(--radius-xl);width:100%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow-xl);animation:modalSlideUp .25s cubic-bezier(.16,1,.3,1)}.ap-requests .modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-primary);flex-shrink:0}.ap-requests .modal-header h2,.ap-requests .modal-header h3{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-primary);margin:0}.ap-requests .modal-body{flex:1;overflow-y:auto;padding:var(--space-5) var(--space-6)}.ap-requests .modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-top:1px solid var(--border-primary);flex-shrink:0;background:var(--bg-secondary)}.ap-requests .close-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;color:var(--text-tertiary);border-radius:var(--radius-md);cursor:pointer;transition:background .2s ease,color .2s ease}.ap-requests .close-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}@media (max-width: 640px){.ap-requests .modal-overlay{padding:0;align-items:flex-end}.ap-requests .modal-content{border-radius:16px 16px 0 0;max-height:92dvh}}.file-upload-container{display:flex;flex-direction:column;gap:var(--space-3)}.file-upload-label{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-secondary)}.file-upload-label .required{color:var(--error-500);margin-left:var(--space-1)}.file-drop-zone{border:2px dashed var(--border-secondary);border-radius:var(--radius-xl);padding:var(--space-8);text-align:center;cursor:pointer;transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast),transform var(--transition-fast);background:var(--bg-secondary)}.file-drop-zone:hover:not(.disabled){border-color:var(--primary-300);background:var(--primary-50)}.file-drop-zone.dragging{border-color:var(--primary-500);background:var(--primary-50);border-style:solid}.file-drop-zone.disabled{opacity:.6;cursor:not-allowed}.file-drop-zone.error{border-color:var(--error-300);background:var(--error-50)}.file-input-hidden{display:none}.drop-zone-content{display:flex;flex-direction:column;align-items:center;gap:var(--space-2)}.drop-zone-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--primary-100);color:var(--primary-600);border-radius:var(--radius-full)}.file-drop-zone.dragging .drop-zone-icon{background:var(--primary-200);transform:scale(1.1)}.drop-zone-text{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-primary);margin:0}.drop-zone-hint{font-size:var(--text-xs);color:var(--text-tertiary);margin:0}.file-upload-error{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--error-50);border:1px solid var(--error-200);border-radius:var(--radius-md);color:var(--error-700);font-size:var(--text-xs)}.file-upload-error span{flex:1}.error-dismiss{display:flex;align-items:center;justify-content:center;padding:2px;background:transparent;border:none;color:var(--error-500);cursor:pointer;border-radius:var(--radius-sm);transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast),transform var(--transition-fast)}.error-dismiss:hover{background:var(--error-100);color:var(--error-700)}.uploading-files{display:flex;flex-direction:column;gap:var(--space-2)}.uploading-file-item{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-md);font-size:var(--text-sm)}.uploading-file-item.complete{background:var(--success-50);border-color:var(--success-200)}.uploading-file-item.error{background:var(--error-50);border-color:var(--error-200)}.uploading-file-info{display:flex;align-items:center;gap:var(--space-2)}.uploading-file-info .spinner{color:var(--primary-500);animation:spin 1s linear infinite}.uploading-file-info .status-success{color:var(--success-500)}.uploading-file-info .status-error{color:var(--error-500)}.uploading-file-name{font-weight:var(--font-medium);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.upload-progress-container{display:flex;align-items:center;gap:var(--space-2)}.upload-progress-bar{flex:1;height:6px;background:var(--bg-tertiary);border-radius:var(--radius-full);overflow:hidden}.upload-progress-fill{height:100%;background:linear-gradient(90deg,var(--primary-500),var(--primary-400));border-radius:var(--radius-full);transition:width .2s ease-out}.upload-progress-text{font-size:var(--text-xs);color:var(--text-tertiary);min-width:36px;text-align:right}.uploading-text{margin-left:auto;color:var(--text-tertiary);font-size:var(--text-xs)}.file-list{display:flex;flex-direction:column;gap:var(--space-2)}.file-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast),transform var(--transition-fast)}.file-item:hover{background:var(--bg-tertiary)}.file-item-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);color:var(--text-tertiary);border-radius:var(--radius-md);flex-shrink:0;overflow:hidden}.file-thumbnail{width:100%;height:100%;object-fit:cover}.file-item-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.file-item-name{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-item-size{font-size:var(--text-xs);color:var(--text-tertiary)}.file-item-status{display:flex;align-items:center}.status-attached{display:inline-flex;align-items:center;gap:4px;font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--success-700);background:var(--success-50);padding:2px 8px;border-radius:var(--radius-full)}.status-uploaded{color:var(--success-500)}.file-item-actions{display:flex;align-items:center;gap:var(--space-1)}.file-action-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--text-tertiary);border-radius:var(--radius-md);cursor:pointer;transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast),transform var(--transition-fast)}.file-action-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.file-action-btn.delete:hover{background:var(--error-50);color:var(--error-600)}.file-list-dragging{outline:2px dashed var(--primary-400);outline-offset:4px;border-radius:var(--radius-lg)}.file-add-more-btn{display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3);background:transparent;border:2px dashed var(--border-secondary);border-radius:var(--radius-lg);color:var(--text-tertiary);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.file-add-more-btn:hover{border-color:var(--primary-300);background:var(--primary-50);color:var(--primary-600)}.file-add-more-count{font-size:var(--text-xs);color:var(--text-quaternary);font-weight:400}.file-refresh-btn{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-3);background:transparent;border:1px solid var(--border-secondary);color:var(--text-tertiary);font-size:var(--text-xs);border-radius:var(--radius-md);cursor:pointer;transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast),transform var(--transition-fast);align-self:flex-start}.file-refresh-btn:hover:not(:disabled){background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--border-primary)}.file-refresh-btn:disabled{opacity:.5;cursor:not-allowed}.file-refresh-btn .spinner{animation:spin 1s linear infinite}.file-upload-checking{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);background:var(--bg-secondary);border:1px dashed var(--border-secondary);border-radius:var(--radius-lg);color:var(--text-tertiary);font-size:var(--text-sm)}.file-upload-checking .spinner{color:var(--primary-500);animation:spin 1s linear infinite;flex-shrink:0}.file-upload-unavailable{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);background:var(--bg-secondary);border:1px dashed var(--border-secondary);border-radius:var(--radius-lg);color:var(--text-tertiary)}.file-upload-unavailable>svg{flex-shrink:0;opacity:.5}.unavailable-text{display:flex;flex-direction:column;gap:2px;flex:1}.unavailable-title{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-secondary)}.unavailable-description{font-size:var(--text-xs);color:var(--text-tertiary)}.unavailable-retry-btn{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-3);background:transparent;border:1px solid var(--border-secondary);color:var(--text-secondary);font-size:var(--text-xs);border-radius:var(--radius-md);cursor:pointer;transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast),transform var(--transition-fast);flex-shrink:0}.unavailable-retry-btn:hover{background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--border-primary)}@media (max-width: 640px){.file-drop-zone{padding:var(--space-6)}.drop-zone-icon{width:40px;height:40px}.file-item{padding:var(--space-2)}.file-item-icon{width:32px;height:32px}}.email-preview-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:9999;padding:20px;animation:emailModalFadeIn .2s ease-out}@keyframes emailModalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes emailModalSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.email-preview-modal{background:#fff!important;border-radius:12px;width:100%;max-width:800px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 50px #0000004d;animation:emailModalSlideUp .3s ease-out;overflow:hidden}.email-preview-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #e5e7eb;background:#f9fafb}.email-preview-modal-title{display:flex;align-items:center;gap:10px;color:#111827}.email-preview-modal-title svg{color:#3b82f6}.email-preview-modal-title h2{margin:0;font-size:18px;font-weight:600;color:#111827}.email-preview-modal-close{background:transparent;border:none;cursor:pointer;padding:8px;border-radius:6px;color:#6b7280;transition:color .2s,background-color .2s,border-color .2s,box-shadow .2s,opacity .2s,transform .2s;display:flex;align-items:center;justify-content:center}.email-preview-modal-close:hover{background:#e5e7eb;color:#111827}.email-preview-modal-close:disabled{cursor:not-allowed;opacity:.5}.email-preview-modal-content{flex:1;overflow:hidden;display:flex;flex-direction:column;min-height:400px;background:#fff}.email-preview-loading,.email-preview-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#6b7280;gap:16px;background:#fff}.email-preview-loading svg{color:#3b82f6}.email-preview-loading p{margin:0;font-size:14px;color:#6b7280}.email-preview-error p{color:#ef4444;margin:0;font-size:14px}.btn-retry{padding:8px 16px;background:#3b82f6;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:background .2s}.btn-retry:hover{background:#2563eb}.email-preview-meta{padding:16px 20px;background:#f9fafb;border-bottom:1px solid #e5e7eb;display:flex;flex-direction:column;gap:10px}.email-preview-subject{font-size:14px;color:#374151}.email-preview-subject strong{margin-right:8px;color:#111827}.email-preview-recipients{display:flex;align-items:flex-start;gap:8px;font-size:13px;color:#6b7280}.email-preview-recipients svg{margin-top:2px;flex-shrink:0}.email-preview-recipients strong{margin-right:4px;color:#374151}.recipients-list{color:#3b82f6;word-break:break-all}.email-preview-body{flex:1;overflow:hidden;background:#fff;padding:0}.email-preview-iframe{width:100%;height:100%;min-height:350px;border:none;background:#fff;display:block}.email-preview-modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:16px 20px;border-top:1px solid #e5e7eb;background:#f9fafb}.email-preview-modal-footer .btn-cancel{padding:10px 20px;background:#fff;color:#374151;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:color .2s,background-color .2s,border-color .2s,box-shadow .2s,opacity .2s,transform .2s}.email-preview-modal-footer .btn-cancel:hover{background:#f3f4f6;border-color:#9ca3af}.email-preview-modal-footer .btn-cancel:disabled{cursor:not-allowed;opacity:.5}.email-preview-modal-footer .btn-send{display:flex;align-items:center;gap:8px;padding:10px 20px;background:#10b981;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:color .2s,background-color .2s,border-color .2s,box-shadow .2s,opacity .2s,transform .2s}.email-preview-modal-footer .btn-send:hover:not(:disabled){background:#059669}.email-preview-modal-footer .btn-send:disabled{cursor:not-allowed;opacity:.6;background:#9ca3af}.email-preview-modal .spinner{animation:spin 1s linear infinite}@media (max-width: 640px){.email-preview-modal-overlay{padding:10px}.email-preview-modal{max-height:95vh}.email-preview-modal-header,.email-preview-meta,.email-preview-modal-footer{padding:12px 16px}.email-preview-modal-title h2{font-size:16px}.email-preview-modal-footer{flex-direction:column-reverse;gap:8px}.email-preview-modal-footer .btn-cancel,.email-preview-modal-footer .btn-send{width:100%;justify-content:center}}.draft-action-bar{margin-bottom:16px}.draft-action-bar-content{display:flex;align-items:center;gap:12px;padding:10px 16px;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-md)}.draft-active-label{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-secondary);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.draft-active-label strong{color:var(--text-primary)}.draft-action-buttons{display:flex;align-items:center;gap:8px;flex-shrink:0}.draft-action-buttons .btn{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.draft-count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;font-size:11px;font-weight:600;color:var(--primary-700);background:var(--primary-100);border-radius:var(--radius-full)}.draft-save-input-wrapper{display:flex;align-items:center;gap:6px;flex:1}.draft-save-input{flex:1;height:32px;padding:0 10px;font-size:13px;border:1px solid var(--border-secondary);border-radius:var(--radius-sm);background:var(--bg-primary);color:var(--text-primary);outline:none;transition:border-color .2s ease}.draft-save-input:focus{border-color:var(--primary-500)}.draft-error{display:flex;align-items:center;gap:8px;padding:8px 12px;margin-bottom:8px;font-size:13px;color:var(--error-700);background:var(--error-50);border:1px solid var(--error-200);border-radius:var(--radius-sm)}.draft-error button{background:none;border:none;cursor:pointer;color:var(--error-500);padding:2px;margin-left:auto;flex-shrink:0}.draft-limit-warning{display:flex;align-items:center;gap:6px;padding:6px 12px;margin-top:6px;font-size:12px;color:var(--warning-700);background:var(--warning-50);border-radius:var(--radius-sm)}.draft-list-modal{min-height:120px}.draft-empty-state{display:flex;flex-direction:column;align-items:center;gap:8px;padding:40px 16px;color:var(--text-tertiary);text-align:center}.draft-empty-state p{font-size:15px;font-weight:500;color:var(--text-secondary);margin:0}.draft-empty-state span{font-size:13px}.draft-list{display:flex;flex-direction:column;gap:4px}.draft-list-item{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid var(--border-primary);border-radius:var(--radius-md);transition:background .15s ease,border-color .15s ease}.draft-list-item:hover{background:var(--bg-secondary)}.draft-list-item-active{border-color:var(--primary-300);background:var(--primary-50)}.draft-list-item-info{flex:1;min-width:0}.draft-list-item-name{display:flex;align-items:center;gap:6px}.draft-name{font-size:14px;font-weight:500;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.draft-rename-icon{background:none;border:none;cursor:pointer;color:var(--text-quaternary);padding:2px;opacity:0;transition:opacity .15s ease,color .15s ease}.draft-list-item:hover .draft-rename-icon{opacity:1}.draft-rename-icon:hover{color:var(--primary-500)}.draft-list-item-meta{display:flex;align-items:center;gap:12px;margin-top:4px}.draft-meta-item{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--text-tertiary)}.draft-list-item-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.draft-rename-wrapper{display:flex;align-items:center;gap:4px}.draft-rename-input{height:28px;padding:0 8px;font-size:13px;border:1px solid var(--border-secondary);border-radius:var(--radius-sm);background:var(--bg-primary);color:var(--text-primary);outline:none;min-width:0;flex:1}.draft-rename-input:focus{border-color:var(--primary-500)}.draft-rename-btn{background:none;border:none;cursor:pointer;color:var(--text-tertiary);padding:4px;border-radius:var(--radius-sm);transition:background .15s ease,color .15s ease}.draft-rename-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.btn-danger-ghost{color:var(--text-tertiary);background:none;border:1px solid var(--border-primary)}.btn-danger-ghost:hover{color:var(--error-600);background:var(--error-50);border-color:var(--error-200)}.draft-storage-info{display:flex;align-items:center;gap:6px;padding:10px 12px;margin-top:12px;font-size:12px;color:var(--text-quaternary);border-top:1px solid var(--border-primary)}@media (max-width: 640px){.draft-action-bar-content{flex-wrap:wrap;padding:8px 12px;gap:8px}.draft-active-label{width:100%;flex:unset}.draft-action-buttons{width:100%;justify-content:flex-end}.draft-action-buttons .btn span{display:none}.draft-save-input-wrapper{width:100%}.draft-list-item{flex-direction:column;align-items:flex-start;gap:8px}.draft-list-item-actions{width:100%;justify-content:flex-end}}.entity-select-container{position:relative;width:100%}.entity-select-label{display:block;font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-secondary);margin-bottom:var(--space-2)}.entity-select-label .required{color:var(--error-500, #dc2626);font-weight:700;margin-left:2px}.entity-select-trigger{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:10px 14px;background:var(--bg-primary);border:1px solid var(--border-secondary);border-radius:var(--radius-lg);cursor:pointer;transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast),transform var(--transition-fast);box-shadow:var(--shadow-xs);outline:none}.entity-select-trigger:hover:not(.disabled){border-color:var(--border-tertiary)}.entity-select-trigger.focused{border-color:var(--primary-400);box-shadow:var(--focus-ring)}.entity-select-trigger:focus-visible{border-color:var(--primary-400);box-shadow:var(--focus-ring)}.entity-select-trigger.error{border-color:var(--error-500)}.entity-select-trigger.error.focused,.entity-select-trigger.error:focus-visible{box-shadow:var(--focus-ring-error)}.entity-select-trigger.disabled{background:var(--bg-secondary);cursor:not-allowed;opacity:.6}.entity-select-icon-left{color:var(--text-quaternary);flex-shrink:0}.entity-select-value{flex:1;min-width:0;font-family:var(--font-family);font-size:var(--text-md);color:var(--text-primary);text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.entity-select-value.placeholder{color:var(--text-placeholder)}.entity-select-actions{display:flex;align-items:center;gap:var(--space-1);flex-shrink:0}.entity-select-clear{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;background:var(--bg-tertiary);border-radius:var(--radius-sm);color:var(--text-quaternary);cursor:pointer;transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast),transform var(--transition-fast)}.entity-select-clear:hover{background:var(--error-100);color:var(--error-600)}.entity-select-chevron{color:var(--text-quaternary);transition:transform var(--transition-fast)}.entity-select-chevron.open{transform:rotate(180deg)}.entity-select-error{display:block;margin-top:var(--space-2);font-size:var(--text-sm);color:var(--error-600)}.entity-select-dropdown{position:absolute;top:calc(100% + 8px);left:0;right:0;z-index:var(--z-dropdown);background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);overflow:hidden;animation:entitySelectSlideIn var(--transition-fast) ease}@keyframes entitySelectSlideIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.entity-select-search{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-primary);background:var(--bg-secondary)}.entity-select-search-icon{color:var(--text-quaternary);flex-shrink:0}.entity-select-search-input{flex:1;border:none;background:transparent;font-family:var(--font-family);font-size:var(--text-sm);color:var(--text-primary);outline:none}.entity-select-search-input::placeholder{color:var(--text-placeholder)}.entity-select-loading{color:var(--primary-500);animation:spin 1s linear infinite;flex-shrink:0}.entity-select-options{max-height:280px;overflow-y:auto;padding:var(--space-2)}.entity-select-option{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-3);border-radius:var(--radius-md);cursor:pointer;transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast),transform var(--transition-fast)}.entity-select-option:hover,.entity-select-option.highlighted{background:var(--bg-secondary)}.entity-select-option.selected{background:var(--primary-50)}.entity-select-option.selected:hover,.entity-select-option.selected.highlighted{background:var(--primary-100)}.entity-select-option-content{flex:1;min-width:0}.entity-select-option-label{display:block;font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.entity-select-option.selected .entity-select-option-label{color:var(--primary-700)}.entity-select-option-description{display:block;font-size:var(--text-xs);color:var(--text-quaternary);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.entity-select-option-check{color:var(--primary-600);flex-shrink:0}.entity-select-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-6) var(--space-4);text-align:center;font-size:var(--text-sm);color:var(--text-quaternary)}.entity-select-empty .spin{animation:spin 1s linear infinite}.entity-select-create{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-3);margin-top:var(--space-2);border-top:1px solid var(--border-primary);color:var(--primary-600);font-size:var(--text-sm);font-weight:var(--font-medium)}.entity-select-create:hover,.entity-select-create.highlighted{background:var(--primary-50)}.entity-select-sm .entity-select-trigger{padding:8px 12px}.entity-select-sm .entity-select-value{font-size:var(--text-sm)}.entity-select-lg .entity-select-trigger{padding:12px 16px}@media (max-width: 480px){.entity-select-dropdown{position:fixed;top:auto;bottom:0;left:0;right:0;border-radius:var(--radius-xl) var(--radius-xl) 0 0;max-height:70vh;animation:entitySelectSlideUp var(--transition-fast) ease}@keyframes entitySelectSlideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.entity-select-options{max-height:calc(70vh - 60px)}.entity-select-option{padding:var(--space-4) var(--space-4)}}.receipt-items-list{display:flex;flex-direction:column;gap:16px;margin-bottom:16px}.receipt-item-card{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);padding:16px;transition:border-color .2s ease,box-shadow .2s ease}.receipt-item-card.has-error{border-color:var(--error-300);background:#ef444405;scroll-margin-top:80px}.receipt-item-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.receipt-item-number{font-size:var(--text-sm);font-weight:600;color:var(--text-secondary)}.receipt-item-remove{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;background:none;border:1px solid var(--border-primary);border-radius:var(--radius-sm);color:var(--text-tertiary);cursor:pointer;transition:color .2s ease,border-color .2s ease,background-color .2s ease}.receipt-item-remove:hover{color:var(--error-600);border-color:var(--error-300);background:var(--error-50)}.receipt-item-fields{display:grid;grid-template-columns:1fr 200px;gap:12px;margin-bottom:12px}.receipt-item-file{margin-top:4px}.receipt-item-file .file-upload-area{padding:12px;min-height:auto}.receipt-item-file .file-upload-label{font-size:var(--text-sm)}.add-receipt-item-btn{display:inline-flex;align-items:center;gap:6px;padding:10px 16px;background:var(--bg-primary);border:1px dashed var(--border-secondary);border-radius:var(--radius-md);color:var(--primary-600);font-size:var(--text-sm);font-weight:500;cursor:pointer;width:100%;justify-content:center;transition:background-color .2s ease,border-color .2s ease}.add-receipt-item-btn:hover{background:var(--primary-50);border-color:var(--primary-300)}.receipt-items-total{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;margin-top:16px;background:var(--primary-50);border:1px solid var(--primary-200);border-radius:var(--radius-md)}.receipt-items-total-label{font-size:var(--text-sm);font-weight:600;color:var(--text-secondary)}.receipt-items-total-value{font-size:var(--text-lg);font-weight:700;color:var(--primary-600)}.receipt-item-ppn{margin-top:10px;padding-top:10px;border-top:1px dashed var(--border-secondary)}.ppn-extract-btn{flex-shrink:0;border:none;background:var(--bg-tertiary);color:var(--primary-600);font-size:var(--text-xs);font-weight:600;padding:0 10px;cursor:pointer;border-left:1px solid var(--border-primary);white-space:nowrap}.ppn-extract-btn:hover{background:var(--primary-50)}.receipt-items-ppn-total{border-top:none;padding-top:4px}.receipt-items-ppn-total .receipt-items-total-label,.receipt-items-ppn-total .receipt-items-total-value{font-size:var(--text-sm);font-weight:500;color:var(--text-secondary)}.form-hint--warning{color:var(--warning-700)}@media (max-width: 640px){.receipt-item-fields{grid-template-columns:1fr}.receipt-item-card{padding:12px}}.ap-request-form-page{max-width:900px;margin:0 auto}.form-page-header{display:flex;flex-direction:column;gap:var(--space-4);margin-bottom:var(--space-6)}.back-btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);color:var(--text-secondary);cursor:pointer;transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast),transform var(--transition-fast);width:fit-content}.back-btn:hover{background:var(--bg-secondary);border-color:var(--border-secondary);color:var(--text-primary)}.form-page-title{text-align:center}.form-page-title h1{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--text-primary);margin:0 0 var(--space-2) 0;letter-spacing:-.02em}.form-page-title p{font-size:var(--text-sm);color:var(--text-tertiary);margin:0}.type-selection{text-align:center;padding:var(--space-10) var(--space-5)}.type-selection h2{font-size:var(--text-2xl);font-weight:var(--font-semibold);color:var(--text-primary);margin-bottom:var(--space-2)}.type-selection>p{color:var(--text-tertiary);margin-bottom:var(--space-8)}.type-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--space-5);max-width:800px;margin:0 auto}.type-card{background:var(--bg-primary);border:2px solid var(--border-primary);border-radius:var(--radius-xl);padding:var(--space-7) var(--space-5);cursor:pointer;transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast),transform var(--transition-fast);text-align:center}.type-card:hover{border-color:var(--primary-300);transform:translateY(-4px);box-shadow:var(--shadow-lg)}.type-icon{width:60px;height:60px;border-radius:var(--radius-xl);display:flex;align-items:center;justify-content:center;margin:0 auto var(--space-4);color:var(--text-white)}.type-card h3{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-primary);margin:0 0 var(--space-1) 0}.type-name-id{font-size:var(--text-xs);color:var(--text-quaternary);display:block;margin-bottom:var(--space-2)}.type-card p{font-size:var(--text-sm);color:var(--text-tertiary);margin:0;line-height:1.5}.form-progress{display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-5);margin-bottom:var(--space-6)}.progress-step{display:flex;flex-direction:column;align-items:center;gap:var(--space-2)}.step-number{width:32px;height:32px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-size:var(--text-sm);font-weight:var(--font-semibold);background:var(--bg-tertiary);color:var(--text-quaternary);transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast),transform var(--transition-fast)}.progress-step.active .step-number{background:var(--primary-600);color:var(--text-white)}.progress-step.completed .step-number{background:var(--success-500);color:var(--text-white)}.step-label{font-size:var(--text-xs);color:var(--text-quaternary);font-weight:var(--font-medium)}.progress-step.active .step-label{color:var(--text-primary)}.progress-line{width:40px;height:2px;background:var(--border-primary);margin-bottom:18px}.form-container{background:var(--bg-primary);border-radius:var(--radius-xl);border:1px solid var(--border-primary);padding:0;overflow:hidden}.form-step{padding:var(--space-6)}.form-section{margin-bottom:var(--space-6)}.form-section h3{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-primary);margin:0}.change-type-btn{font-size:var(--text-sm);color:var(--primary-600);background:none;border:none;cursor:pointer;padding:var(--space-1) var(--space-2);font-weight:var(--font-medium)}.change-type-btn:hover{text-decoration:underline}.section-description{color:var(--text-tertiary);font-size:var(--text-sm);margin-bottom:var(--space-4)}.form-grid{display:flex;flex-direction:column;gap:var(--space-5)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4);align-items:stretch}.form-row>.form-group,.form-row>.datepicker-container{display:flex;flex-direction:column;justify-content:flex-end;min-width:0}.form-row>.form-group{margin-bottom:0}.ap-request-form-page .form-group{display:flex;flex-direction:column;min-width:0}.ap-request-form-page .form-group .form-label{margin-bottom:var(--space-2)}.ap-request-form-page .form-group.full-width{grid-column:1 / -1}.form-row>.datepicker-container .datepicker-label{margin-bottom:var(--space-2)}.form-row .input-with-prefix,.form-row .datepicker-input-wrapper{height:44px;box-sizing:border-box}.form-row .input-with-prefix{border:1px solid var(--border-secondary);background:var(--bg-primary);box-shadow:var(--shadow-xs)}.form-row .datepicker-input-wrapper{padding:10px 14px}.ap-request-form-page .form-label,.ap-request-form-page .form-row .datepicker-label{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-primary);margin-bottom:var(--space-2)}.form-input,.form-textarea{padding:var(--space-3) var(--space-4);font-size:var(--text-sm);border:1px solid var(--border-primary);border-radius:var(--radius-lg);background:var(--bg-secondary);color:var(--text-primary);transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast),transform var(--transition-fast)}.form-input:hover,.form-textarea:hover{border-color:var(--border-secondary)}.form-input:focus,.form-textarea:focus{outline:none;border-color:var(--primary-300);background:var(--bg-primary);box-shadow:var(--focus-ring)}.form-input::placeholder,.form-textarea::placeholder{color:var(--text-placeholder)}.input-with-prefix{display:flex;align-items:center;border:1px solid var(--border-secondary);border-radius:var(--radius-lg);background:var(--bg-primary);overflow:hidden;transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast),transform var(--transition-fast);box-shadow:var(--shadow-xs)}.input-with-prefix:hover{border-color:var(--border-tertiary)}.input-with-prefix:focus-within{border-color:var(--primary-400);background:var(--bg-primary);box-shadow:var(--focus-ring)}.input-prefix{padding:12px 12px 12px 14px;font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-tertiary);background:var(--bg-tertiary);border-right:1px solid var(--border-secondary);height:100%;display:flex;align-items:center}.input-with-prefix .form-input{border:none;background:transparent;flex:1;min-width:0;padding:10px 14px}.form-hint{display:block;font-size:var(--text-xs);color:var(--text-tertiary);margin-top:var(--space-1)}.input-with-icon{position:relative}.input-with-icon .input-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text-quaternary)}.input-with-icon .form-input{padding-left:40px}.category-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:var(--space-2)}.category-btn{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-4) var(--space-3);background:var(--bg-secondary);border:2px solid var(--border-primary);border-radius:var(--radius-lg);cursor:pointer;transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast),transform var(--transition-fast)}.category-btn:hover{border-color:var(--border-secondary)}.category-btn.active{border-color:var(--primary-500);background:var(--primary-50)}.category-icon{font-size:var(--text-xl)}.category-name{font-size:var(--text-xs);color:var(--text-secondary);text-align:center;font-weight:var(--font-medium)}.category-btn.active .category-name{color:var(--primary-700)}.payment-type-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:var(--space-2)}.payment-type-btn{display:flex;flex-direction:column;align-items:flex-start;padding:var(--space-4);background:var(--bg-secondary);border:2px solid var(--border-primary);border-radius:var(--radius-lg);cursor:pointer;transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast),transform var(--transition-fast);text-align:left}.payment-type-btn:hover{border-color:var(--border-secondary)}.payment-type-btn.active{border-color:var(--primary-500);background:var(--primary-50)}.payment-type-name{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-primary);margin-bottom:2px}.payment-type-desc{font-size:var(--text-xs);color:var(--text-quaternary)}.payment-type-btn.active .payment-type-name{color:var(--primary-700)}.classification-toggle{display:flex;gap:var(--space-2);padding:var(--space-1);background:var(--bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--border-primary)}.classification-toggle .toggle-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border:none;border-radius:var(--radius-md);background:transparent;color:var(--text-tertiary);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast),transform var(--transition-fast)}.classification-toggle .toggle-btn:hover{background:var(--bg-tertiary);color:var(--text-secondary)}.classification-toggle .toggle-btn.active{background:var(--primary-500);color:var(--text-white);box-shadow:var(--shadow-sm)}.classification-toggle .toggle-btn.active svg{color:var(--text-white)}.other-detail-group{margin-top:var(--space-4);padding:var(--space-4);background:var(--warning-50);border:1px solid var(--warning-200);border-radius:var(--radius-lg);animation:slideUp .2s ease-out}.other-detail-group .form-label{color:var(--warning-700);font-weight:var(--font-semibold)}.other-detail-group .form-input{background:var(--bg-primary);border-color:var(--warning-300)}.other-detail-group .form-input:focus{border-color:var(--warning-500);box-shadow:0 0 0 3px #f59e0b26}.other-detail-group .form-hint{color:var(--warning-600)}.approval-info{background:var(--bg-secondary);border-radius:var(--radius-xl);padding:var(--space-5);margin-top:var(--space-6)}.approval-info h4{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-primary);margin:0 0 var(--space-4) 0}.approval-flow{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:var(--space-3)}.approval-step{display:flex;align-items:center;gap:var(--space-2)}.approval-avatar{width:36px;height:36px;border-radius:var(--radius-full);background:var(--bg-tertiary);display:flex;align-items:center;justify-content:center;color:var(--text-quaternary)}.approval-avatar.manager{background:var(--warning-50);color:var(--warning-600)}.approval-avatar.finance{background:var(--info-50);color:var(--info-600)}.approval-info-text{display:flex;flex-direction:column}.approval-name{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-primary)}.approval-role{font-size:var(--text-xs);color:var(--text-quaternary)}.approval-arrow{font-size:var(--text-lg);color:var(--text-quaternary)}.upload-area{border:2px dashed var(--border-primary);border-radius:var(--radius-xl);padding:var(--space-8);text-align:center;transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast),transform var(--transition-fast);cursor:pointer}.upload-icon{width:56px;height:56px;background:var(--bg-tertiary);border-radius:var(--radius-xl);display:flex;align-items:center;justify-content:center;color:var(--text-quaternary);margin-bottom:var(--space-3)}.upload-section{margin-bottom:var(--space-5)}.upload-section:last-of-type{margin-bottom:0}.upload-tip{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-3);background:var(--info-50);border-radius:var(--radius-lg);margin-top:var(--space-4);color:var(--info-700);font-size:var(--text-sm)}.form-actions{display:flex;justify-content:space-between;gap:var(--space-3);padding-top:var(--space-6);border-top:1px solid var(--border-primary);margin-top:var(--space-6)}.success-message{text-align:center;padding:var(--space-10) var(--space-5)}.info-box{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-4);background:var(--warning-50);border:1px solid var(--warning-200);border-radius:var(--radius-lg);margin:var(--space-5) auto;max-width:400px;color:var(--warning-700);font-size:var(--text-sm);text-align:left}.info-box strong{display:block;margin-bottom:2px}@keyframes slideLeft{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes slideRight{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}.animate-slideLeft{animation:slideLeft .3s ease-out}.animate-slideRight{animation:slideRight .3s ease-out}.mode-selection{text-align:center;padding:var(--space-10) var(--space-5)}.mode-selection h2{font-size:var(--text-2xl);font-weight:var(--font-semibold);color:var(--text-primary);margin-bottom:var(--space-2)}.mode-selection>p{color:var(--text-tertiary);margin-bottom:var(--space-8)}.mode-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-5);max-width:600px;margin:0 auto}.mode-card{background:var(--bg-primary);border:2px solid var(--border-primary);border-radius:var(--radius-xl);padding:var(--space-6);cursor:pointer;transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast),transform var(--transition-fast);text-align:center;position:relative}.mode-card:hover:not(:disabled){border-color:var(--primary-300);transform:translateY(-4px);box-shadow:var(--shadow-lg)}.mode-card:disabled{opacity:.5;cursor:not-allowed}.mode-card.resubmit{border-color:var(--warning-200)}.mode-card.resubmit:hover:not(:disabled){border-color:var(--warning-400)}.mode-icon{width:56px;height:56px;border-radius:var(--radius-xl);display:flex;align-items:center;justify-content:center;margin:0 auto var(--space-4);color:var(--text-white)}.mode-card:not(.resubmit) .mode-icon{background:var(--primary-500)}.mode-card.resubmit .mode-icon{background:var(--warning-500)}.mode-card h3{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-primary);margin:0 0 var(--space-2) 0}.mode-card p{font-size:var(--text-sm);color:var(--text-tertiary);margin:0;line-height:1.5}.mode-badge{position:absolute;top:var(--space-3);right:var(--space-3);padding:var(--space-1) var(--space-2);font-size:var(--text-xs);font-weight:var(--font-medium);background:var(--warning-100);color:var(--warning-700);border-radius:var(--radius-full)}.rejected-selection{padding:var(--space-6) var(--space-5)}.rejected-selection h2{font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--text-primary);margin-bottom:var(--space-2);text-align:center}.rejected-selection>p{color:var(--text-tertiary);margin-bottom:var(--space-6);text-align:center}.rejected-list{display:flex;flex-direction:column;gap:var(--space-3);max-width:700px;margin:0 auto}.rejected-card{background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-xl);padding:var(--space-5);cursor:pointer;transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast),transform var(--transition-fast);text-align:left;box-shadow:var(--shadow-sm)}.rejected-card:hover{border-color:var(--warning-300);background:var(--warning-50);box-shadow:var(--shadow-md);transform:translateY(-2px)}.rejected-card.selected{border-color:var(--warning-500);background:var(--warning-50);box-shadow:0 0 0 3px var(--warning-100)}.rejected-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-3)}.rejected-info{display:flex;align-items:center;gap:var(--space-3)}.rejected-id{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-primary);font-family:var(--font-mono, ui-monospace, monospace);background:var(--bg-secondary);padding:var(--space-1) var(--space-2);border-radius:var(--radius-md)}.rejected-type{font-size:var(--text-xs);font-weight:var(--font-medium);text-transform:uppercase;letter-spacing:.05em;padding:var(--space-1) var(--space-2);border-radius:var(--radius-md);background:var(--primary-50);color:var(--primary-700)}.rejected-type.type-expense{background:var(--accent-50);color:var(--accent-700)}.rejected-type.type-cash_advance{background:var(--warning-50);color:var(--warning-700)}.rejected-type.type-billing{background:var(--success-50);color:var(--success-700)}.rejected-amount{font-size:var(--text-lg);font-weight:var(--font-bold);color:var(--text-primary)}.rejected-description{font-size:var(--text-sm);color:var(--text-secondary);line-height:1.5;margin:0 0 var(--space-3) 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.rejected-meta{display:flex;flex-wrap:wrap;gap:var(--space-4);margin-bottom:var(--space-3);font-size:var(--text-xs);color:var(--text-tertiary)}.rejected-date,.rejected-stage{display:flex;align-items:center;gap:var(--space-1)}.rejected-date svg{color:var(--text-quaternary)}.rejection-reason-box{background:var(--error-50);border:1px solid var(--error-200);border-radius:var(--radius-lg);padding:var(--space-3);display:flex;align-items:flex-start;gap:var(--space-3)}.rejection-reason-box>svg{flex-shrink:0;color:var(--error-500);margin-top:2px}.rejection-reason-box>div{flex:1}.rejection-reason-box .reason-label{display:block;font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--error-700);margin-bottom:var(--space-1);text-transform:uppercase;letter-spacing:.05em}.rejection-reason-box .reason-text{display:block;font-size:var(--text-sm);color:var(--error-800);line-height:1.5}.selected-indicator{display:flex;align-items:center;justify-content:center;gap:var(--space-2);margin-top:var(--space-3);padding:var(--space-2);background:var(--warning-100);color:var(--warning-700);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-semibold)}.resubmit-actions,.rejected-selection-actions{display:flex;justify-content:center;gap:var(--space-3);margin-top:var(--space-6)}.resubmit-banner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4);background:linear-gradient(135deg,var(--warning-50) 0%,var(--warning-100) 100%);border:1px solid var(--warning-200);border-radius:var(--radius-xl);margin-bottom:var(--space-5)}.resubmit-banner-content{display:flex;align-items:center;gap:var(--space-3)}.resubmit-banner-icon{width:40px;height:40px;background:var(--warning-500);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;color:var(--text-white);flex-shrink:0}.resubmit-banner-text{display:flex;flex-direction:column;gap:2px}.resubmit-banner-text .resubmit-label{font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--warning-700);text-transform:uppercase;letter-spacing:.05em}.resubmit-banner-text .resubmit-id{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-primary)}.resubmit-banner-text .original-reason{font-size:var(--text-xs);color:var(--text-tertiary);margin-top:2px}.resubmit-actions{display:flex;gap:var(--space-2)}.resubmit-actions .btn-text{font-size:var(--text-sm);padding:var(--space-2) var(--space-3);background:transparent;border:1px solid var(--warning-300);color:var(--warning-700);border-radius:var(--radius-lg);cursor:pointer;transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast),transform var(--transition-fast)}.resubmit-actions .btn-text:hover{background:var(--warning-100);border-color:var(--warning-400)}.resubmit-notes-group{background:var(--warning-50);border:1px solid var(--warning-200);border-radius:var(--radius-xl);padding:var(--space-5);margin-bottom:var(--space-5)}.resubmit-notes-group .form-label{display:flex;align-items:center;gap:var(--space-2);color:var(--warning-700);margin-bottom:var(--space-3)}.resubmit-notes-group .form-label svg{color:var(--warning-500)}.resubmit-notes-group .form-textarea{background:var(--bg-primary);border-color:var(--warning-300)}.resubmit-notes-group .form-textarea:focus{border-color:var(--warning-500);box-shadow:0 0 0 3px #f59e0b26}.resubmit-notes-hint{font-size:var(--text-xs);color:var(--warning-600);margin-top:var(--space-2)}@media (max-width: 1024px){.ap-request-form-page{max-width:100%}}@media (max-width: 768px){.form-page-header{gap:var(--space-3)}.form-page-title{text-align:left}.form-page-title h1{font-size:var(--text-xl)}.form-row{grid-template-columns:1fr}.type-selection{padding:var(--space-6) var(--space-3)}.type-selection h2{font-size:var(--text-xl)}.type-cards{grid-template-columns:1fr;gap:var(--space-3)}.type-card{padding:var(--space-5) var(--space-4)}.type-icon{width:50px;height:50px}.form-progress{overflow-x:auto;justify-content:flex-start;padding:var(--space-4) var(--space-2);-webkit-overflow-scrolling:touch;scrollbar-width:none}.form-progress::-webkit-scrollbar{display:none}.progress-line{width:24px;min-width:24px}.step-label{font-size:10px;white-space:nowrap}.form-container{border-radius:var(--radius-lg);overflow:visible}.form-step{padding:var(--space-4)}.section-header{flex-direction:column;align-items:flex-start;gap:var(--space-2)}.section-header h3{font-size:var(--text-md)}.form-grid{gap:var(--space-3)}.category-grid{grid-template-columns:repeat(2,1fr);gap:var(--space-2)}.category-btn{padding:var(--space-3)}.category-name{font-size:11px}.payment-type-grid{grid-template-columns:1fr}.approval-info{padding:var(--space-4)}.approval-flow{flex-direction:column;gap:var(--space-3)}.approval-arrow{transform:rotate(90deg)}.approval-step{flex-direction:row;text-align:left}.success-message{padding:var(--space-6) var(--space-4)}.success-icon{width:60px;height:60px}.success-message h2{font-size:var(--text-xl)}.success-details{padding:var(--space-4)}.success-actions{flex-direction:column;gap:var(--space-3)}.form-actions{flex-direction:column-reverse;gap:var(--space-2)}.form-actions .btn{width:100%;justify-content:center;padding:var(--space-3) var(--space-4)}.mode-selection{padding:var(--space-6) var(--space-3)}.mode-selection h2{font-size:var(--text-xl)}.mode-cards{grid-template-columns:1fr;gap:var(--space-3)}.mode-card{padding:var(--space-5) var(--space-4)}.mode-icon{width:50px;height:50px}.rejected-selection{padding:var(--space-4) var(--space-3)}.rejected-selection h2{font-size:var(--text-lg)}.rejected-list{gap:var(--space-3)}.rejected-card{padding:var(--space-4)}.rejected-header{flex-direction:column;align-items:flex-start;gap:var(--space-2)}.rejected-amount{font-size:var(--text-md)}.rejected-meta{flex-direction:column;gap:var(--space-2)}.resubmit-banner{flex-direction:column;text-align:center;padding:var(--space-4);gap:var(--space-3)}.resubmit-banner-content{flex-direction:column;align-items:center}.resubmit-banner-icon{width:36px;height:36px}.rejected-selection-actions,.resubmit-actions{flex-direction:column;gap:var(--space-3)}.rejected-selection-actions .btn,.resubmit-actions .btn{width:100%;justify-content:center}.resubmit-notes-group{padding:var(--space-4)}.upload-section{margin-bottom:var(--space-4)}.upload-tip{font-size:var(--text-xs)}.info-box{flex-direction:column;text-align:center;gap:var(--space-2)}}@media (max-width: 480px){.form-step{padding:var(--space-3)}.category-grid{grid-template-columns:1fr 1fr}.category-icon{font-size:20px}.step-number{width:28px;height:28px;font-size:var(--text-xs)}.input-with-prefix .input-prefix{padding:var(--space-2) var(--space-3);font-size:var(--text-sm)}}.tax-calculation{grid-column:1 / -1}.tax-breakdown{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);padding:var(--space-4)}.tax-row{display:flex;justify-content:space-between;padding:var(--space-2) 0;font-size:var(--text-sm);color:var(--text-secondary)}.tax-row:not(:last-child){border-bottom:1px dashed var(--border-primary)}.tax-row.total{border-top:2px solid var(--border-secondary);margin-top:var(--space-2);padding-top:var(--space-3);font-weight:var(--font-semibold);color:var(--text-primary);font-size:var(--text-base)}.tax-row.total span:last-child{color:var(--success)}.ap-request-form-page .modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1100;padding:var(--space-4)}.ap-request-form-page .modal-content{background:var(--bg-primary);border-radius:var(--radius-xl);width:100%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow-xl);animation:modalSlideUp .25s cubic-bezier(.16,1,.3,1)}.ap-request-form-page .modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-primary);flex-shrink:0}.ap-request-form-page .modal-header h2,.ap-request-form-page .modal-header h3{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-primary);margin:0}.ap-request-form-page .modal-body{flex:1;overflow-y:auto;padding:var(--space-5) var(--space-6)}.ap-request-form-page .modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-top:1px solid var(--border-primary);flex-shrink:0;background:var(--bg-secondary)}.ap-request-form-page .close-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;color:var(--text-tertiary);border-radius:var(--radius-md);cursor:pointer;transition:background .2s ease,color .2s ease}.ap-request-form-page .close-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.templates-section{margin-top:var(--space-6);padding-top:var(--space-6);border-top:1px solid var(--border-primary)}.templates-heading{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-secondary);margin-bottom:var(--space-3)}.template-list{display:flex;flex-direction:column;gap:var(--space-2)}.template-item{display:flex;align-items:center;border:1px solid var(--border-primary);border-radius:var(--radius-md);background:var(--bg-primary);overflow:hidden;transition:border-color .15s ease}.template-item:hover{border-color:var(--primary-300)}.template-item-main{flex:1;display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);background:none;border:none;cursor:pointer;text-align:left}.template-name{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-primary)}.template-type{font-size:11px;font-weight:600;text-transform:capitalize;padding:2px 8px;border-radius:var(--radius-full);background:var(--primary-50);color:var(--primary-700)}.template-delete-btn{padding:var(--space-3);background:none;border:none;border-left:1px solid var(--border-primary);color:var(--text-quaternary);cursor:pointer;transition:color .15s ease,background .15s ease}.template-delete-btn:hover{color:var(--error-600);background:var(--error-50)}.template-save-section{margin-top:var(--space-4);padding:var(--space-4);background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-lg)}.template-save-hint{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--text-secondary);margin-bottom:var(--space-3)}.template-save-row{display:flex;gap:var(--space-2);align-items:center}.template-saved-notice{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-3);padding:var(--space-2) var(--space-3);background:var(--success-50);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--success-700)}@media (max-width: 640px){.ap-request-form-page .modal-overlay{padding:0;align-items:flex-end}.ap-request-form-page .modal-content{border-radius:16px 16px 0 0;max-height:92dvh}.template-save-row{flex-direction:column}}.settlement-page{max-width:900px;margin:0 auto}.settlement-header{display:flex;flex-direction:column;gap:var(--space-4);margin-bottom:var(--space-6)}.settlement-header .back-btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);color:var(--text-secondary);cursor:pointer;transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast),transform var(--transition-fast);width:fit-content}.settlement-header .back-btn:hover{background:var(--bg-secondary);border-color:var(--border-secondary);color:var(--text-primary)}.settlement-title{text-align:center}.settlement-title h1{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--text-primary);margin:0 0 var(--space-2) 0;letter-spacing:-.02em}.settlement-title p{font-size:var(--text-sm);color:var(--text-tertiary);margin:0}@media (max-width: 768px){.settlement-title{text-align:left}.settlement-title h1{font-size:var(--text-xl)}}.settlement-page.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4);padding:var(--space-10);color:var(--text-secondary)}.settlement-page .error-state{text-align:center;padding:var(--space-10) var(--space-5);background:var(--bg-primary);border-radius:var(--radius-xl);border:1px solid var(--border-primary);display:flex;flex-direction:column;align-items:center;gap:var(--space-4);color:var(--text-secondary)}.settlement-page .error-state h2{font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--text-primary);margin:0}.settlement-page .error-state p{margin:0}.settlement-content{display:flex;flex-direction:column;gap:var(--space-6)}.ca-info-card{background:linear-gradient(135deg,#00a1f614,#0091de24);border:1px solid rgba(0,161,246,.18);border-radius:var(--radius-xl);padding:var(--space-6);color:var(--text-primary);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.ca-info-header{display:flex;align-items:center;gap:var(--space-4);margin-bottom:var(--space-5)}.ca-icon{width:48px;height:48px;background:#00a1f61f;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;color:var(--primary-600)}.ca-info-text h3{font-size:var(--text-md);font-weight:var(--font-semibold);color:var(--text-primary);margin:0 0 2px}.ca-id{font-size:var(--text-sm);color:var(--text-secondary)}.ca-info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4)}.ca-info-item{display:flex;flex-direction:column;gap:var(--space-1)}.ca-label{font-size:var(--text-xs);color:var(--text-tertiary)}.ca-value{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-primary)}.ca-amount{font-size:var(--text-lg);font-weight:var(--font-bold);color:var(--primary-600)}.expenses-section{background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-xl);padding:var(--space-6)}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-5)}.section-header h3{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-primary);margin:0}.add-expense-btn{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--primary-600);color:var(--text-white);border:none;border-radius:var(--radius-lg);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast),transform var(--transition-fast)}.add-expense-btn:hover{background:var(--primary-700)}.expenses-list{display:flex;flex-direction:column;gap:var(--space-4)}.expense-item{display:flex;gap:var(--space-4);padding:var(--space-4);background:var(--bg-secondary);border-radius:var(--radius-lg);border:1px solid transparent;transition:border-color var(--transition-fast)}.expense-item.has-errors{border-color:var(--error-200);background:var(--error-25, #fef2f2)}.expense-number{width:28px;height:28px;background:var(--bg-tertiary);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-tertiary);flex-shrink:0}.expense-fields{flex:1;display:flex;flex-direction:column;gap:var(--space-3)}.expense-row{display:flex;gap:var(--space-3);align-items:flex-end}.flex-1{flex:1;min-width:0}.flex-2{flex:2;min-width:0}.settlement-page .form-group{display:flex;flex-direction:column;gap:var(--space-2)}.settlement-page .form-group label{font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--text-tertiary)}.settlement-page .readonly-value{padding:var(--space-2) 0;font-size:var(--text-sm);color:var(--text-primary)}.settlement-page .form-input,.settlement-page .form-textarea{padding:var(--space-3) var(--space-4);font-size:var(--text-sm);border:1px solid var(--border-primary);border-radius:var(--radius-lg);background:var(--bg-primary);color:var(--text-primary);transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast),transform var(--transition-fast)}.settlement-page .form-input:hover,.settlement-page .form-textarea:hover{border-color:var(--border-secondary)}.settlement-page .form-input:focus,.settlement-page .form-textarea:focus{outline:none;border-color:var(--primary-300);box-shadow:var(--focus-ring)}.settlement-page .form-textarea{resize:vertical;min-height:80px}.input-with-prefix{display:flex;align-items:center;border:1px solid var(--border-primary);border-radius:var(--radius-lg);background:var(--bg-primary);overflow:hidden;transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast),transform var(--transition-fast)}.input-with-prefix:focus-within{border-color:var(--primary-300);box-shadow:var(--focus-ring)}.input-prefix{padding:var(--space-3) var(--space-3) var(--space-3) var(--space-4);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-tertiary);background:var(--bg-secondary);border-right:1px solid var(--border-primary)}.remove-expense-btn{width:38px;height:38px;display:flex;align-items:center;justify-content:center;background:none;border:1px solid var(--border-primary);border-radius:var(--radius-lg);color:var(--text-quaternary);cursor:pointer;transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast),transform var(--transition-fast)}.remove-expense-btn:hover{background:var(--error-50);border-color:var(--error-200);color:var(--error-600)}.summary-card{display:flex;gap:var(--space-5);padding:var(--space-6);background:var(--bg-primary);border:2px solid var(--border-primary);border-radius:var(--radius-xl)}.summary-icon{width:56px;height:56px;background:var(--bg-secondary);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;color:var(--text-quaternary)}.summary-content{flex:1}.summary-content h4{font-size:var(--text-md);font-weight:var(--font-semibold);color:var(--text-primary);margin:0 0 var(--space-4) 0}.summary-rows{display:flex;flex-direction:column;gap:var(--space-2)}.summary-row{display:flex;justify-content:space-between;font-size:var(--text-sm)}.summary-row span:first-child{color:var(--text-tertiary)}.summary-amount{font-weight:var(--font-medium);color:var(--text-primary)}.summary-divider{height:1px;background:var(--border-primary);margin:var(--space-1) 0}.summary-row.difference{margin-top:var(--space-1)}.summary-row.difference span:first-child{font-weight:var(--font-semibold);color:var(--text-primary)}.difference-amount{font-size:var(--text-lg);font-weight:var(--font-bold)}.summary-row.positive .difference-amount{color:var(--success-600)}.summary-row.negative .difference-amount{color:var(--warning-600)}.return-notice,.claim-notice{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-radius:var(--radius-lg);font-size:var(--text-sm)}.return-notice{background:var(--success-50);border:1px solid var(--success-200);color:var(--success-700)}.claim-notice{background:var(--warning-50);border:1px solid var(--warning-200);color:var(--warning-700)}.attachments-section{background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-xl);padding:var(--space-6)}.attachments-section h3{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-primary);margin:0 0 var(--space-2) 0}.section-desc{font-size:var(--text-sm);color:var(--text-tertiary);margin-bottom:var(--space-4)}.upload-area{border:2px dashed var(--border-primary);border-radius:var(--radius-xl);padding:var(--space-7);text-align:center;transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast),transform var(--transition-fast);cursor:pointer}.upload-area:hover{border-color:var(--primary-300);background:var(--primary-50)}.file-input{display:none}.upload-label{display:flex;flex-direction:column;align-items:center;cursor:pointer}.upload-icon{width:52px;height:52px;background:var(--bg-tertiary);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;color:var(--text-quaternary);margin-bottom:var(--space-3)}.upload-text{font-size:var(--text-sm);color:var(--text-tertiary);margin:0}.upload-text strong{color:var(--primary-600)}.upload-hint{font-size:var(--text-xs);color:var(--text-quaternary);margin-top:var(--space-1)}.files-list{margin-top:var(--space-4);display:flex;flex-direction:column;gap:var(--space-2)}.file-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);background:var(--bg-secondary);border-radius:var(--radius-lg)}.file-icon{width:40px;height:40px;background:var(--bg-tertiary);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:var(--text-quaternary)}.file-info{flex:1;display:flex;flex-direction:column}.file-name{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-primary)}.file-size{font-size:var(--text-xs);color:var(--text-quaternary)}.file-remove{width:28px;height:28px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--text-quaternary);cursor:pointer;transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast),transform var(--transition-fast)}.file-remove:hover{background:var(--error-50);color:var(--error-600)}.notes-section{display:flex;flex-direction:column;gap:var(--space-2)}.settlement-page .form-label{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-primary)}.form-actions{display:flex;justify-content:space-between;gap:var(--space-3);padding-top:var(--space-2)}.success-message{text-align:center;padding:var(--space-10) var(--space-5);background:var(--bg-primary);border-radius:var(--radius-xl);border:1px solid var(--border-primary)}.success-icon{width:72px;height:72px;background:var(--success-500);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;color:var(--text-white);margin:0 auto var(--space-6)}.success-message h2{font-size:var(--text-2xl);font-weight:var(--font-semibold);color:var(--text-primary);margin:0 0 var(--space-2) 0}.success-message>p{color:var(--text-tertiary);margin-bottom:var(--space-6)}.success-details{background:var(--bg-secondary);border-radius:var(--radius-xl);padding:var(--space-5);margin:var(--space-6) auto;max-width:400px;text-align:left}.success-details .detail-row{display:flex;justify-content:space-between;padding:var(--space-2) 0;border-bottom:1px solid var(--border-primary)}.success-details .detail-row:last-child{border-bottom:none}.success-details .detail-row span:first-child{color:var(--text-tertiary);font-size:var(--text-sm)}.success-details .detail-value{font-weight:var(--font-medium);color:var(--text-primary);font-size:var(--text-sm)}.text-success{color:var(--success-600)!important}.text-warning{color:var(--warning-600)!important}.success-actions{display:flex;justify-content:center;gap:var(--space-3);margin-top:var(--space-6)}.animate-slideUp{animation:slideUp .3s ease-out}.animate-scaleIn{animation:scaleIn .4s ease-out}@media (max-width: 768px){.settlement-header{flex-direction:column;align-items:flex-start}.ca-info-grid{grid-template-columns:1fr}.expense-item{flex-direction:column;gap:var(--space-3)}.expense-number{align-self:flex-start}.expense-row{flex-direction:column;align-items:stretch}.remove-expense-btn{width:100%;height:40px}.summary-card,.success-actions{flex-direction:column}.form-actions{flex-direction:column-reverse;gap:var(--space-2)}.form-actions .btn{width:100%;justify-content:center}}.settlement-page .modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1100;padding:var(--space-4)}.settlement-page .modal-content{background:var(--bg-primary);border-radius:var(--radius-xl);width:100%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow-xl);animation:modalSlideUp .25s cubic-bezier(.16,1,.3,1)}.settlement-page .modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-primary);flex-shrink:0}.settlement-page .modal-header h2,.settlement-page .modal-header h3{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-primary);margin:0}.settlement-page .modal-body{flex:1;overflow-y:auto;padding:var(--space-5) var(--space-6)}.settlement-page .modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-top:1px solid var(--border-primary);flex-shrink:0;background:var(--bg-secondary)}.settlement-page .close-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;color:var(--text-tertiary);border-radius:var(--radius-md);cursor:pointer;transition:background .2s ease,color .2s ease}.settlement-page .close-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.expense-file-preview{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-md);font-size:var(--text-sm)}.expense-file-preview .file-icon{color:var(--primary-500);flex-shrink:0}.expense-file-preview .file-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-primary)}.expense-file-preview .file-size{color:var(--text-tertiary);font-size:11px;flex-shrink:0}.file-remove-sm{background:none;border:none;color:var(--text-quaternary);cursor:pointer;padding:2px;border-radius:var(--radius-sm);display:flex;align-items:center;transition:color .15s ease,background .15s ease}.file-remove-sm:hover{color:var(--error-600);background:var(--error-50)}.expense-file-upload-btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--bg-primary);border:1px dashed var(--border-secondary);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--primary-600);cursor:pointer;transition:background .15s ease,border-color .15s ease}.expense-file-upload-btn:hover{background:var(--primary-50);border-color:var(--primary-300)}.return-section{padding:var(--space-4);background:var(--success-50);border:1px solid var(--success-200);border-radius:var(--radius-lg)}.return-notice{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--bg-primary);border:1px solid var(--success-200);border-radius:var(--radius-md);color:var(--success-800);font-size:var(--text-sm);margin-bottom:var(--space-4)}.return-notice svg{color:var(--success-600);flex-shrink:0}.return-bank-details{margin-bottom:var(--space-4)}.return-bank-details h4{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-primary);margin-bottom:var(--space-3)}.bank-info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3)}.bank-info-item{display:flex;flex-direction:column;gap:2px}.bank-label{font-size:11px;font-weight:var(--font-medium);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em}.bank-value{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-primary)}.return-proof-section{display:flex;flex-direction:column;gap:var(--space-3)}.overspend-section{padding:var(--space-4);background:var(--warning-50);border:1px solid var(--warning-200);border-radius:var(--radius-lg)}.claim-notice{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--bg-primary);border:1px solid var(--warning-200);border-radius:var(--radius-md);color:var(--warning-800);font-size:var(--text-sm);margin-bottom:var(--space-4)}.claim-notice svg{color:var(--warning-600);flex-shrink:0;margin-top:1px}@media (max-width: 640px){.settlement-page .modal-overlay{padding:0;align-items:flex-end}.settlement-page .modal-content{border-radius:16px 16px 0 0;max-height:92dvh}.bank-info-grid{grid-template-columns:1fr}}.approval-timeline-section{margin-top:var(--space-3)}.approval-timeline-title{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-secondary);margin-bottom:var(--space-3)}.approval-timeline-list{display:flex;flex-direction:column;gap:var(--space-2)}.approval-timeline-item{display:flex;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);border:1px solid var(--border-primary);background:var(--bg-primary)}.approval-timeline-item.approved{border-left:3px solid var(--success-400)}.approval-timeline-item.rejected{border-left:3px solid var(--error-400)}.approval-timeline-icon{flex-shrink:0;margin-top:2px}.approval-timeline-item.approved .approval-timeline-icon{color:var(--success-500)}.approval-timeline-item.rejected .approval-timeline-icon{color:var(--error-500)}.approval-timeline-content{flex:1;min-width:0}.approval-timeline-header{display:flex;align-items:center;gap:var(--space-2);margin-bottom:4px}.approval-timeline-level{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-primary)}.approval-timeline-action{font-size:11px;font-weight:600;padding:1px 6px;border-radius:var(--radius-full)}.approval-timeline-action.approved{background:var(--success-100);color:var(--success-700)}.approval-timeline-action.rejected{background:var(--error-100);color:var(--error-700)}.approval-timeline-meta{display:flex;align-items:center;gap:var(--space-3);font-size:12px;color:var(--text-tertiary);margin-bottom:4px}.approval-timeline-meta span{display:flex;align-items:center;gap:4px}.approval-timeline-comment{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--bg-secondary);border-radius:var(--radius-sm);font-size:var(--text-sm);color:var(--text-secondary);font-style:italic;margin-top:4px}.approval-timeline-comment svg{flex-shrink:0;margin-top:2px;color:var(--text-quaternary)}.transaction-timeline{background:#fff;border-radius:12px;border:1px solid var(--neutral-200);overflow:hidden}.timeline-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:var(--neutral-50);border-bottom:1px solid var(--neutral-200);cursor:pointer;transition:background .2s}.timeline-header:hover{background:var(--neutral-100)}.timeline-header-left{display:flex;align-items:center;gap:10px}.timeline-header-left h4{margin:0;font-size:14px;font-weight:600;color:var(--neutral-800)}.timeline-header-left svg{color:var(--neutral-500)}.timeline-count{font-size:12px;color:var(--neutral-500);background:var(--neutral-200);padding:2px 8px;border-radius:10px}.timeline-toggle{background:none;border:none;padding:4px;cursor:pointer;color:var(--neutral-500);display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background .2s}.timeline-toggle:hover{background:var(--neutral-200)}.timeline-content{padding:20px}.timeline-item{display:flex;gap:16px;position:relative}.timeline-marker{display:flex;flex-direction:column;align-items:center;flex-shrink:0}.timeline-icon{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;z-index:1}.timeline-icon.timeline-action-info{background:var(--primary-100);color:var(--primary-600)}.timeline-icon.timeline-action-success{background:var(--success-100);color:var(--success-600)}.timeline-icon.timeline-action-error{background:var(--error-100);color:var(--error-600)}.timeline-icon.timeline-action-warning{background:var(--warning-100);color:var(--warning-600)}.timeline-icon.timeline-action-neutral{background:var(--neutral-100);color:var(--neutral-600)}.timeline-icon.timeline-action-skipped{background:var(--info-100);color:var(--info-600)}.timeline-line{width:2px;flex:1;background:var(--neutral-200);min-height:20px;margin-top:4px;margin-bottom:4px}.timeline-content-wrapper{flex:1;padding-bottom:24px}.timeline-item:last-child .timeline-content-wrapper{padding-bottom:0}.timeline-item:last-child .timeline-line{display:none}.timeline-item-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.timeline-action{font-size:14px;font-weight:600}.timeline-action.timeline-action-info{color:var(--primary-700)}.timeline-action.timeline-action-success{color:var(--success-700)}.timeline-action.timeline-action-error{color:var(--error-700)}.timeline-action.timeline-action-warning{color:var(--warning-700)}.timeline-action.timeline-action-neutral{color:var(--neutral-700)}.timeline-action.timeline-action-skipped{color:var(--info-700)}.timeline-datetime{font-size:12px;color:var(--neutral-500);white-space:nowrap}.timeline-item-body{display:flex;flex-direction:column;gap:8px}.timeline-performer{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--neutral-600)}.timeline-performer svg{color:var(--neutral-400)}.timeline-performer-position{color:var(--neutral-500);font-size:12px}.timeline-comments{font-size:13px;color:var(--neutral-600);font-style:italic;background:var(--neutral-50);padding:8px 12px;border-radius:6px;border-left:3px solid var(--neutral-300)}.timeline-status-change{display:flex;align-items:center;gap:8px;font-size:12px}.status-from{color:var(--neutral-500);text-transform:capitalize}.status-arrow{color:var(--neutral-400)}.status-to{color:var(--primary-600);font-weight:500;text-transform:capitalize}.timeline-metadata{display:flex;flex-wrap:wrap;gap:12px;font-size:12px;padding:8px 12px;background:var(--neutral-50);border-radius:6px}.metadata-item{display:flex;align-items:center;gap:4px}.metadata-label{color:var(--neutral-500)}.metadata-value{color:var(--neutral-700);font-weight:500}.timeline-loading{display:flex;align-items:center;justify-content:center;gap:12px;padding:40px;color:var(--neutral-500)}.timeline-loading-spinner{width:20px;height:20px;border:2px solid var(--neutral-200);border-top-color:var(--primary-500);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.timeline-error{display:flex;align-items:center;justify-content:center;gap:8px;padding:40px;color:var(--error-600);background:var(--error-50);border-radius:8px}.timeline-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:40px;color:var(--neutral-400)}.timeline-empty svg{opacity:.5}@media (max-width: 640px){.timeline-item-header{flex-direction:column;align-items:flex-start;gap:4px}.timeline-metadata{flex-direction:column;gap:6px}}.ap-approvals{max-width:1000px;margin:0 auto}.ap-approvals .header-badges{display:flex;gap:var(--space-3)}.ap-approvals .pending-count{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--warning-50);color:var(--warning-700);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:var(--font-semibold)}.approval-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-4);margin-bottom:var(--space-6)}.approval-stat{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);background:var(--bg-primary);border-radius:var(--radius-xl);border:1px solid var(--border-primary)}.approval-stat-icon{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-lg);color:var(--text-white)}.approval-stat-icon.pending{background:linear-gradient(135deg,var(--warning-500) 0%,var(--warning-600) 100%)}.approval-stat-icon.approved{background:linear-gradient(135deg,var(--success-500) 0%,var(--success-600) 100%)}.approval-stat-icon.rejected{background:linear-gradient(135deg,var(--error-500) 0%,var(--error-600) 100%)}.approval-stat-icon.amount{background:linear-gradient(135deg,var(--primary-500) 0%,var(--primary-600) 100%)}.approval-stat-info{display:flex;flex-direction:column}.approval-stat-value{font-size:var(--text-lg);font-weight:var(--font-bold);color:var(--text-primary)}.approval-stat-label{font-size:var(--text-xs);color:var(--text-tertiary)}.ap-approvals .stat-card{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);background:var(--bg-primary);border-radius:var(--radius-xl);border:1px solid var(--border-primary);transition:color .2s ease,background-color .2s ease,border-color .2s ease,box-shadow .2s ease,opacity .2s ease,transform .2s ease}.ap-approvals .stat-card.clickable{cursor:pointer}.ap-approvals .stat-card.clickable:hover{border-color:var(--primary-300);background:var(--primary-50)}.ap-approvals .stat-card.active{border-color:var(--primary-500);background:var(--primary-50)}.ap-approvals .stat-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-lg);color:#fff}.ap-approvals .stat-icon.pending{background:linear-gradient(135deg,var(--warning-500),var(--warning-600))}.ap-approvals .stat-icon.amount{background:linear-gradient(135deg,var(--primary-500),var(--primary-600))}.ap-approvals .stat-icon.reimbursement{background:linear-gradient(135deg,var(--info-500),var(--info-600))}.ap-approvals .stat-icon.external{background:linear-gradient(135deg,var(--success-500),var(--success-600))}.ap-approvals .stat-info{display:flex;flex-direction:column}.ap-approvals .stat-value{font-size:var(--text-lg);font-weight:var(--font-bold);color:var(--text-primary)}.ap-approvals .stat-label{font-size:var(--text-xs);color:var(--text-tertiary)}.ap-approvals .filter-tabs{display:flex;gap:var(--space-2);margin-bottom:var(--space-5);padding:var(--space-1);background:var(--bg-secondary);border-radius:var(--radius-lg);width:fit-content}.ap-approvals .filter-tab{padding:var(--space-2) var(--space-4);border:none;background:transparent;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-secondary);cursor:pointer;transition:color .2s ease,background-color .2s ease,border-color .2s ease,box-shadow .2s ease,opacity .2s ease,transform .2s ease}.ap-approvals .filter-tab:hover{color:var(--text-primary);background:var(--bg-tertiary)}.ap-approvals .filter-tab.active{background:var(--bg-primary);color:var(--primary-600);box-shadow:var(--shadow-sm)}.ap-approvals .type-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-lg);flex-shrink:0}.ap-approvals .type-icon.type-reimbursement{background:var(--info-100);color:var(--info-600)}.ap-approvals .type-icon.type-cash_advance{background:var(--warning-100);color:var(--warning-600)}.ap-approvals .type-icon.type-external{background:var(--success-100);color:var(--success-600)}.ap-approvals .request-meta{display:flex;gap:var(--space-4);margin-top:var(--space-2);font-size:var(--text-xs);color:var(--text-tertiary)}.ap-approvals .request-meta span{display:flex;align-items:center;gap:var(--space-1)}.ap-approvals .error-banner{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--error-50);border:1px solid var(--error-200);border-radius:var(--radius-lg);color:var(--error-700);font-size:var(--text-sm);margin-bottom:var(--space-4)}.ap-approvals .page-header .header-icon{width:56px;height:56px;border-radius:var(--radius-xl);background:linear-gradient(135deg,var(--success-500),var(--success-600));display:flex;align-items:center;justify-content:center;color:#fff}.ap-approvals .page-header-content{display:flex;align-items:center;gap:var(--space-4)}.approval-cards{display:flex;flex-direction:column;gap:var(--space-4)}.approval-card{background:var(--bg-primary);border-radius:var(--radius-xl);border:1px solid var(--border-primary);overflow:hidden;transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast),transform var(--transition-fast)}.approval-card:hover{box-shadow:var(--shadow-md);border-color:var(--border-secondary)}.approval-card-header{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-5);cursor:pointer;transition:background var(--transition-fast)}.approval-card-header:hover{background:var(--bg-secondary)}.ap-approvals .request-type-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--primary-50);border-radius:var(--radius-lg);color:var(--primary-600);flex-shrink:0}.ap-approvals .request-summary{flex:1;min-width:0}.ap-approvals .request-main-info{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-1);flex-wrap:wrap}.ap-approvals .request-id{font-family:SF Mono,Monaco,Inconsolata,monospace;font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--primary-600)}.ap-approvals .request-type{font-size:var(--text-xs);text-transform:capitalize;color:var(--text-tertiary);padding:2px var(--space-2);background:var(--bg-tertiary);border-radius:var(--radius-sm)}.ap-approvals .request-description{font-size:var(--text-sm);color:var(--text-tertiary);margin:0;white-space:normal;word-break:break-word;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ap-approvals .request-amount-section{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.ap-approvals .request-amount{font-size:var(--text-lg);font-weight:var(--font-bold);color:var(--text-primary)}.ap-approvals .request-date{font-size:var(--text-xs);color:var(--text-quaternary)}.ap-approvals .expand-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--border-primary);border-radius:var(--radius-md);color:var(--text-tertiary);cursor:pointer;transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast),transform var(--transition-fast)}.ap-approvals .expand-btn:hover{background:var(--bg-tertiary);border-color:var(--border-secondary)}.approval-card-details{padding:var(--space-5);background:var(--bg-secondary);border-top:1px solid var(--border-primary);animation:slideDown var(--transition-fast) ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.ap-approvals .details-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-5);margin-bottom:var(--space-5)}.ap-approvals .detail-section{display:flex;flex-direction:column;gap:var(--space-3);background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);padding:var(--space-4)}.ap-approvals .detail-section.full-width{grid-column:1 / -1}.ap-approvals .detail-section h4{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-secondary);margin-bottom:var(--space-1);padding-bottom:var(--space-2);border-bottom:1px solid var(--border-primary)}.ap-approvals .detail-row{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm)}.ap-approvals .detail-row svg{color:var(--text-quaternary);flex-shrink:0}.ap-approvals .detail-label{color:var(--text-tertiary);min-width:100px;flex-shrink:0}.ap-approvals .detail-value{color:var(--text-primary);font-weight:var(--font-medium);word-break:break-word}.ap-approvals .detail-row .label{min-width:100px;flex-shrink:0}.ap-approvals .detail-row .value{word-break:break-word}.ap-approvals .detail-value.amount{color:var(--primary-600);font-weight:var(--font-bold)}.ap-approvals .classification-badge{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-2);border-radius:var(--radius-md);font-size:var(--text-xs);font-weight:var(--font-semibold)}.ap-approvals .classification-badge.internal{background:var(--info-50);color:var(--info-700)}.ap-approvals .classification-badge.external{background:var(--success-50);color:var(--success-700)}.ap-approvals .attachments-list{display:flex;flex-wrap:wrap;gap:var(--space-2)}.ap-approvals .attachment-item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--text-secondary)}.ap-approvals .attachment-item svg{color:var(--text-quaternary)}.ap-approvals .view-btn{font-size:var(--text-xs);color:var(--primary-600);background:none;border:none;cursor:pointer;font-weight:var(--font-medium)}.ap-approvals .view-btn:hover{text-decoration:underline}.ap-approvals .history-section{margin-top:var(--space-5);padding-top:var(--space-5);border-top:1px solid var(--border-primary)}.approval-actions{display:flex;justify-content:flex-end;gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--border-primary)}.ap-approvals .quick-actions-bar{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3) var(--space-5);background:var(--bg-secondary);border-top:1px solid var(--border-primary)}.ap-approvals .submitter-info{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--text-tertiary)}.ap-approvals .quick-buttons{display:flex;gap:var(--space-2)}.ap-approvals .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-16);background:var(--bg-primary);border-radius:var(--radius-xl);border:1px solid var(--border-primary);text-align:center}.ap-approvals .empty-state svg{color:var(--success-500);margin-bottom:var(--space-4)}.ap-approvals .empty-state h3{font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--text-primary);margin-bottom:var(--space-2)}.ap-approvals .empty-state p{font-size:var(--text-sm);color:var(--text-tertiary);margin:0}.approval-modal{max-width:480px}.approval-modal .modal-header{flex-direction:column;text-align:center;padding:var(--space-8) var(--space-6) var(--space-4)}.modal-icon{width:64px;height:64px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);color:var(--text-white);margin:0 auto var(--space-4)}.modal-icon.approve{background:linear-gradient(135deg,var(--success-500) 0%,var(--success-600) 100%)}.modal-icon.reject{background:linear-gradient(135deg,var(--error-500) 0%,var(--error-600) 100%)}.approval-modal .modal-header h2{margin-bottom:var(--space-2)}.approval-modal .modal-header p{font-size:var(--text-sm);color:var(--text-tertiary);margin:0}.rejection-tips{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--warning-50);border-radius:var(--radius-lg);font-size:var(--text-sm);color:var(--warning-700);margin-top:var(--space-4)}.rejection-tips svg{flex-shrink:0;margin-top:2px}.modal-error{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--error-50);border:1px solid var(--error-200);border-radius:var(--radius-lg);font-size:var(--text-sm);color:var(--error-700);margin-bottom:var(--space-4)}.modal-error svg{flex-shrink:0;margin-top:2px;color:var(--error-500)}.approval-flow-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:var(--radius-full);font-size:11px;font-weight:var(--font-medium)}.approval-flow-badge.pending-manager{background:var(--warning-50);color:var(--warning-700)}.approval-flow-badge.pending-finance{background:var(--info-50);color:var(--info-700)}.approval-flow-badge.approved{background:var(--success-50);color:var(--success-700)}.approval-flow-indicator{display:flex;align-items:center;justify-content:center;gap:12px;padding:var(--space-4);background:var(--bg-secondary);border-radius:var(--radius-lg);margin-bottom:var(--space-5)}.flow-step{display:flex;flex-direction:column;align-items:center;gap:6px;padding:var(--space-2) var(--space-4);border-radius:var(--radius-lg);background:var(--bg-primary);border:1px solid var(--border-primary)}.flow-step span{font-size:11px;font-weight:var(--font-medium);color:var(--text-tertiary)}.flow-step svg{color:var(--text-quaternary)}.flow-step.completed{background:var(--success-50);border-color:var(--success-200)}.flow-step.completed svg{color:var(--success-600)}.flow-step.completed span{color:var(--success-700)}.flow-step.current{background:var(--primary-50);border-color:var(--primary-300);box-shadow:0 0 0 3px var(--primary-100)}.flow-step.current svg{color:var(--primary-600)}.flow-step.current span{color:var(--primary-700);font-weight:var(--font-semibold)}.flow-arrow{color:var(--text-quaternary);flex-shrink:0}@media (max-width: 1024px){.approval-stats{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.approval-stats{grid-template-columns:1fr}.approval-card-header{flex-wrap:wrap}.request-amount-section{width:100%;flex-direction:row;justify-content:space-between;margin-top:var(--space-2)}.details-grid{grid-template-columns:1fr}.quick-actions-bar{flex-direction:column;gap:var(--space-3)}.quick-buttons{width:100%;justify-content:flex-end}.approval-flow-indicator{flex-direction:column;gap:var(--space-3)}.flow-arrow{transform:rotate(90deg)}}.approvals-toolbar{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) 0;margin-bottom:var(--space-2)}.toolbar-left{display:flex;align-items:center;gap:var(--space-3)}.select-all-checkbox{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none}.select-all-checkbox input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:22px;height:22px;border:2px solid var(--border-secondary, #cbd5e1);border-radius:var(--radius-sm, 4px);cursor:pointer;position:relative;transition:color .15s ease,background-color .15s ease,border-color .15s ease,box-shadow .15s ease,opacity .15s ease,transform .15s ease;background:var(--bg-primary, #ffffff);flex-shrink:0}.select-all-checkbox input[type=checkbox]:hover{border-color:var(--primary-400)}.select-all-checkbox input[type=checkbox]:checked{background:var(--primary-600);border-color:var(--primary-600);animation:checkboxPop .2s ease}.select-all-checkbox input[type=checkbox]:checked:after{content:"";position:absolute;top:2px;left:6px;width:6px;height:10px;border:solid white;border-width:0 2.5px 2.5px 0;transform:rotate(45deg)}.select-all-checkbox input[type=checkbox]:indeterminate{background:var(--primary-600);border-color:var(--primary-600)}.select-all-checkbox input[type=checkbox]:indeterminate:after{content:"";position:absolute;top:8px;left:4px;width:10px;height:0;border:solid white;border-width:0 0 2.5px 0}.select-all-checkbox input[type=checkbox]:disabled{opacity:.5;cursor:not-allowed}.toolbar-right{display:flex;align-items:center;gap:var(--space-3)}.sort-dropdown{display:flex;align-items:center;gap:var(--space-2);color:var(--text-tertiary)}.sort-select{padding:var(--space-2) var(--space-3);border:1px solid var(--border-primary);border-radius:var(--radius-md);background:var(--bg-primary);color:var(--text-secondary);font-size:var(--text-sm);cursor:pointer}.sort-select:hover{border-color:var(--border-secondary)}.approval-card.selected{border-color:var(--primary-400);background:var(--primary-50)}.approval-card-select{position:absolute;top:var(--space-4);left:var(--space-4);z-index:2}.approval-card-select input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:24px;height:24px;border:2px solid var(--border-secondary, #cbd5e1);border-radius:var(--radius-sm, 4px);cursor:pointer;position:relative;transition:color .15s ease,background-color .15s ease,border-color .15s ease,box-shadow .15s ease,opacity .15s ease,transform .15s ease;background:var(--bg-primary, #ffffff);box-shadow:var(--shadow-sm)}.approval-card-select input[type=checkbox]:hover{border-color:var(--primary-400);box-shadow:0 0 0 3px var(--primary-100, rgba(99, 102, 241, .1))}.approval-card-select input[type=checkbox]:checked{background:var(--primary-600);border-color:var(--primary-600);box-shadow:0 0 0 3px var(--primary-100, rgba(99, 102, 241, .1));animation:checkboxPop .2s ease}.approval-card-select input[type=checkbox]:checked:after{content:"";position:absolute;top:3px;left:7px;width:6px;height:10px;border:solid white;border-width:0 2.5px 2.5px 0;transform:rotate(45deg)}.approval-card-select input[type=checkbox]:disabled{opacity:.5;cursor:not-allowed}.approval-card-select input[type=checkbox]:disabled:hover{border-color:var(--border-secondary, #cbd5e1);box-shadow:var(--shadow-sm)}@keyframes checkboxPop{0%{transform:scale(1)}50%{transform:scale(1.15)}to{transform:scale(1)}}.approval-card{position:relative}.bulk-action-bar{position:fixed;bottom:var(--space-6);left:50%;transform:translate(-50%);display:flex;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-5);background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);z-index:100;animation:slideUp .2s ease-out}@keyframes slideUp{0%{opacity:0;transform:translate(-50%) translateY(20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.bulk-action-info{font-size:var(--text-sm);color:var(--text-secondary);white-space:nowrap}.bulk-count{font-weight:var(--font-bold);color:var(--primary-600)}.bulk-action-buttons{display:flex;align-items:center;gap:var(--space-2)}@media (max-width: 768px){.approvals-toolbar{flex-direction:column;align-items:flex-start;gap:var(--space-2)}.bulk-action-bar{left:var(--space-4);right:var(--space-4);transform:none;flex-direction:column;gap:var(--space-2)}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}}.ap-approvals .modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1100;padding:var(--space-4)}.ap-approvals .modal-content{background:var(--bg-primary);border-radius:var(--radius-xl);width:100%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow-xl);animation:modalSlideUp .25s cubic-bezier(.16,1,.3,1)}.ap-approvals .modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-primary);flex-shrink:0}.ap-approvals .modal-header h2,.ap-approvals .modal-header h3{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-primary);margin:0}.ap-approvals .modal-body{flex:1;overflow-y:auto;padding:var(--space-5) var(--space-6)}.ap-approvals .modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-top:1px solid var(--border-primary);flex-shrink:0;background:var(--bg-secondary)}.ap-approvals .close-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;color:var(--text-tertiary);border-radius:var(--radius-md);cursor:pointer;transition:background .2s ease,color .2s ease}.ap-approvals .close-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}@media (max-width: 640px){.ap-approvals .modal-overlay{padding:0;align-items:flex-end}.ap-approvals .modal-content{border-radius:16px 16px 0 0;max-height:92dvh}}.settlement-overspend-banner{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--warning-50);border:1px solid var(--warning-200);border-radius:var(--radius-md);color:var(--warning-800);font-size:var(--text-sm);margin-bottom:var(--space-4)}.settlement-overspend-banner svg{color:var(--warning-600);flex-shrink:0}.settlement-details-section{background:var(--warning-50);border:1px solid var(--warning-200);border-radius:var(--radius-lg);padding:var(--space-4)}.settlement-details-section h4{display:flex;align-items:center;gap:var(--space-2);color:var(--warning-800)}.settlement-expenses-list{margin-top:var(--space-4)}.settlement-expenses-list h5{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-secondary);margin-bottom:var(--space-2)}.settlement-expenses-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.settlement-expenses-table th,.settlement-expenses-table td{padding:var(--space-2) var(--space-3);text-align:left;border-bottom:1px solid var(--border-primary)}.settlement-expenses-table th{font-weight:var(--font-semibold);color:var(--text-tertiary);font-size:11px;text-transform:uppercase;letter-spacing:.05em}.settlement-expenses-table tfoot td{border-top:2px solid var(--border-secondary);border-bottom:none}.finance-verification{padding:var(--space-6);max-width:1400px;margin:0 auto}.finance-verification.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:var(--space-4);color:var(--text-secondary)}.finance-verification .spinner,.finance-verification .spinning{animation:spin 1s linear infinite}.finance-verification .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-6)}.finance-verification .page-header-content{display:flex;align-items:center;gap:var(--space-4)}.finance-verification .header-icon{width:56px;height:56px;border-radius:var(--radius-xl);background:linear-gradient(135deg,var(--primary-500),var(--primary-600));display:flex;align-items:center;justify-content:center;color:#fff}.finance-verification .page-header h1{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--text-primary);margin:0}.finance-verification .page-header p{color:var(--text-secondary);margin:var(--space-1) 0 0}.finance-verification .verification-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-4);margin-bottom:var(--space-6)}.finance-verification .stat-card{background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-xl);padding:var(--space-5);display:flex;align-items:center;gap:var(--space-4);transition:color .2s ease,background-color .2s ease,border-color .2s ease,box-shadow .2s ease,opacity .2s ease,transform .2s ease}.finance-verification .stat-card.clickable{cursor:pointer}.finance-verification .stat-card.clickable:hover{border-color:var(--primary-300);box-shadow:var(--shadow-md)}.finance-verification .stat-icon{width:48px;height:48px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center}.finance-verification .stat-icon.pending{background:var(--warning-50);color:var(--warning-600)}.finance-verification .stat-icon.amount{background:var(--success-50);color:var(--success-600)}.finance-verification .stat-icon.reimbursement{background:var(--info-50);color:var(--info-600)}.finance-verification .stat-icon.external{background:var(--primary-50);color:var(--primary-600)}.finance-verification .stat-info{display:flex;flex-direction:column}.finance-verification .stat-value{font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--text-primary)}.finance-verification .stat-label{font-size:var(--text-sm);color:var(--text-secondary)}.finance-verification .filter-tabs{display:flex;gap:var(--space-2);margin-bottom:var(--space-5);border-bottom:1px solid var(--border-primary);padding-bottom:var(--space-1)}.finance-verification .filter-tab{padding:var(--space-2) var(--space-4);background:none;border:none;font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-secondary);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .2s ease,background-color .2s ease,border-color .2s ease,box-shadow .2s ease,opacity .2s ease,transform .2s ease}.finance-verification .filter-tab:hover{color:var(--text-primary)}.finance-verification .filter-tab.active{color:var(--primary-600);border-bottom-color:var(--primary-600)}.finance-verification .verification-list{display:flex;flex-direction:column;gap:var(--space-4)}.finance-verification .empty-state{text-align:center;padding:var(--space-12);background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-xl);color:var(--text-secondary)}.finance-verification .empty-state svg{color:var(--success-400);margin-bottom:var(--space-4)}.finance-verification .empty-state h3{color:var(--text-primary);margin:0 0 var(--space-2)}.finance-verification .empty-state p{margin:0}.finance-verification .verification-card{background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-xl);overflow:hidden;transition:color .2s ease,background-color .2s ease,border-color .2s ease,box-shadow .2s ease,opacity .2s ease,transform .2s ease}.finance-verification .verification-card:hover{box-shadow:var(--shadow-md)}.finance-verification .verification-card .card-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-5);cursor:pointer;transition:background .2s ease}.finance-verification .verification-card .card-header:hover{background:var(--bg-secondary)}.finance-verification .card-header-left{display:flex;align-items:center;gap:var(--space-4)}.finance-verification .type-icon{width:48px;height:48px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center}.finance-verification .type-icon.type-reimbursement{background:var(--success-50);color:var(--success-600)}.finance-verification .type-icon.type-cash_advance{background:var(--warning-50);color:var(--warning-600)}.finance-verification .type-icon.type-external{background:var(--primary-50);color:var(--primary-600)}.finance-verification .card-info .card-title{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-1)}.finance-verification .card-info .request-number{font-weight:var(--font-semibold);color:var(--text-primary)}.finance-verification .card-info .request-type{font-size:var(--text-sm);color:var(--text-secondary);background:var(--bg-tertiary);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm)}.finance-verification .card-meta{display:flex;gap:var(--space-4);font-size:var(--text-sm);color:var(--text-secondary)}.finance-verification .card-meta span{display:flex;align-items:center;gap:var(--space-1)}.finance-verification .card-header-right{display:flex;align-items:center;gap:var(--space-4)}.finance-verification .card-header-right .amount{font-size:var(--text-lg);font-weight:var(--font-bold);color:var(--text-primary)}.finance-verification .card-details{border-top:1px solid var(--border-primary);padding:var(--space-5);background:var(--bg-secondary)}.finance-verification .details-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-5);margin-bottom:var(--space-5)}.finance-verification .detail-section{background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);padding:var(--space-4)}.finance-verification .detail-section.full-width{grid-column:span 2}.finance-verification .detail-section h4{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-primary);margin:0 0 var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid var(--border-primary)}.finance-verification .detail-row{display:flex;gap:var(--space-2);margin-bottom:var(--space-2);font-size:var(--text-sm)}.finance-verification .detail-row:last-child{margin-bottom:0}.finance-verification .detail-row .label{color:var(--text-secondary);min-width:100px}.finance-verification .detail-row .value{color:var(--text-primary);font-weight:var(--font-medium);word-break:break-word}.finance-verification .classification-badge{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-2);border-radius:var(--radius-md);font-size:var(--text-xs);font-weight:var(--font-semibold)}.finance-verification .classification-badge.internal{background:var(--info-50);color:var(--info-700)}.finance-verification .classification-badge.external{background:var(--success-50);color:var(--success-700)}.finance-verification .approval-timeline{display:flex;flex-direction:column;gap:var(--space-3)}.finance-verification .timeline-item{display:flex;align-items:flex-start;gap:var(--space-3)}.finance-verification .timeline-icon{width:24px;height:24px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;flex-shrink:0}.finance-verification .timeline-item.completed .timeline-icon{background:var(--success-100);color:var(--success-600)}.finance-verification .timeline-item.current .timeline-icon{background:var(--warning-100);color:var(--warning-600)}.finance-verification .timeline-content{display:flex;flex-direction:column}.finance-verification .timeline-title{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-primary)}.finance-verification .timeline-date{font-size:var(--text-xs);color:var(--text-secondary)}.finance-verification .timeline-by{font-size:var(--text-xs);color:var(--text-tertiary)}.finance-verification .attachments-list{display:flex;flex-wrap:wrap;gap:var(--space-2)}.finance-verification .attachment-item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-md);font-size:var(--text-sm)}.finance-verification .attachment-item .view-btn{padding:var(--space-1) var(--space-2);background:var(--primary-50);color:var(--primary-600);border:none;border-radius:var(--radius-sm);font-size:var(--text-xs);cursor:pointer}.finance-verification .attachment-item .view-btn:hover{background:var(--primary-100)}.finance-verification .history-section{margin-top:var(--space-5);padding-top:var(--space-5);border-top:1px solid var(--border-primary)}.finance-verification .card-actions{display:flex;justify-content:flex-end;gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--border-primary)}.finance-verification .modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--space-4)}.finance-verification .modal-content{background:var(--bg-primary);border-radius:var(--radius-xl);width:90%;max-height:90vh;box-shadow:var(--shadow-2xl);animation:modalSlideUp .3s cubic-bezier(.16,1,.3,1);overflow:hidden;display:flex;flex-direction:column}.finance-verification .modal-header{padding:var(--space-5);border-bottom:1px solid var(--border-primary)}.finance-verification .modal-header h2{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--success-600);margin:0}.finance-verification .modal-header.reject h2{color:var(--error-600)}.finance-verification .modal-body{padding:var(--space-5)}.finance-verification .modal-body p{margin:0 0 var(--space-4);color:var(--text-secondary)}.finance-verification .modal-body .form-group{margin-bottom:0}.finance-verification .modal-body .form-group label{display:block;font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-primary);margin-bottom:var(--space-2)}.finance-verification .modal-body .form-textarea{width:100%;padding:var(--space-3);border:1px solid var(--border-primary);border-radius:var(--radius-lg);font-size:var(--text-sm);resize:vertical;font-family:inherit}.finance-verification .modal-body .form-textarea:focus{outline:none;border-color:var(--primary-500);box-shadow:0 0 0 3px var(--primary-100)}.finance-verification .modal-footer{padding:var(--space-4) var(--space-5);border-top:1px solid var(--border-primary);display:flex;justify-content:flex-end;gap:var(--space-3)}.finance-verification .modal-content.approval-modal .modal-header{text-align:center;border-bottom:none;padding-bottom:0}.finance-verification .modal-content.approval-modal .modal-header h2{justify-content:center;color:var(--text-primary)}.finance-verification .modal-content.approval-modal .modal-header p{color:var(--text-secondary);font-size:var(--text-sm);margin:var(--space-2) 0 0}.finance-verification .modal-icon{width:56px;height:56px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;margin:0 auto var(--space-4)}.finance-verification .modal-icon.approve{background:var(--success-50);color:var(--success-600)}.finance-verification .modal-icon.reject{background:var(--error-50);color:var(--error-600)}.finance-verification .modal-error{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--error-50);border:1px solid var(--error-200);border-radius:var(--radius-lg);font-size:var(--text-sm);color:var(--error-700);margin-bottom:var(--space-4)}.finance-verification .modal-error svg{flex-shrink:0;margin-top:2px;color:var(--error-500)}.finance-verification .rejection-tips{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-3);background:var(--warning-50);border-radius:var(--radius-lg);font-size:var(--text-sm);color:var(--warning-700);margin-top:var(--space-4)}.finance-verification .rejection-tips svg{flex-shrink:0;margin-top:2px;color:var(--warning-500)}.finance-verification .btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border:none;border-radius:var(--radius-lg);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:color .2s ease,background-color .2s ease,border-color .2s ease,box-shadow .2s ease,opacity .2s ease,transform .2s ease}.finance-verification .btn:disabled{opacity:.6;cursor:not-allowed}.finance-verification .btn-secondary{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-primary)}.finance-verification .btn-secondary:hover:not(:disabled){background:var(--bg-tertiary)}.finance-verification .btn-success{background:var(--success-600);color:#fff}.finance-verification .btn-success:hover:not(:disabled){background:var(--success-700)}.finance-verification .btn-danger{background:var(--error-600);color:#fff}.finance-verification .btn-danger:hover:not(:disabled){background:var(--error-700)}@media (max-width: 1024px){.finance-verification .verification-stats{grid-template-columns:repeat(2,1fr)}.finance-verification .details-grid{grid-template-columns:1fr}.finance-verification .detail-section.full-width{grid-column:span 1}}@media (max-width: 768px){.finance-verification{padding:var(--space-4)}.finance-verification .page-header{flex-direction:column;align-items:flex-start;gap:var(--space-3)}.finance-verification .page-header-content{gap:var(--space-3)}.finance-verification .header-icon{width:44px;height:44px;border-radius:var(--radius-lg)}.finance-verification .header-icon svg{width:22px;height:22px}.finance-verification .page-header h1{font-size:var(--text-xl)}.finance-verification .page-header p{font-size:var(--text-sm)}.finance-verification .page-header .btn{width:100%;justify-content:center}.finance-verification .verification-stats{grid-template-columns:1fr;gap:var(--space-3);margin-bottom:var(--space-4)}.finance-verification .stat-card{padding:var(--space-4)}.finance-verification .stat-icon{width:40px;height:40px}.finance-verification .stat-value{font-size:var(--text-lg)}.finance-verification .filter-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:0}.finance-verification .filter-tabs::-webkit-scrollbar{display:none}.finance-verification .filter-tab{white-space:nowrap;flex-shrink:0}.finance-verification .verification-card .card-header{flex-direction:column;align-items:flex-start;gap:var(--space-3);padding:var(--space-4)}.finance-verification .card-header-left{width:100%;gap:var(--space-3)}.finance-verification .type-icon{width:40px;height:40px}.finance-verification .card-info .card-title,.finance-verification .card-meta{flex-wrap:wrap;gap:var(--space-2)}.finance-verification .card-header-right{width:100%;justify-content:space-between;padding-top:var(--space-2);border-top:1px solid var(--border-secondary)}.finance-verification .card-header-right .amount{font-size:var(--text-base)}.finance-verification .card-details{padding:var(--space-4)}.finance-verification .details-grid{gap:var(--space-4);margin-bottom:var(--space-4)}.finance-verification .detail-section{padding:var(--space-3)}.finance-verification .detail-row{flex-direction:column;gap:var(--space-1)}.finance-verification .detail-row .label{min-width:unset;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.02em}.finance-verification .card-actions{flex-direction:column;gap:var(--space-2)}.finance-verification .card-actions .btn{width:100%;justify-content:center}.finance-verification .empty-state{padding:var(--space-8)}.finance-verification .empty-state svg{width:48px;height:48px}.finance-verification .modal-overlay{align-items:flex-end;padding:0}.finance-verification .modal-content{width:100%;max-height:85vh;border-radius:var(--radius-xl) var(--radius-xl) 0 0;animation:modalSlideUpMobile .3s cubic-bezier(.16,1,.3,1)}.finance-verification .modal-header,.finance-verification .modal-body{padding:var(--space-4)}.finance-verification .modal-footer{padding:var(--space-4);flex-direction:column;gap:var(--space-2)}.finance-verification .modal-footer .btn{width:100%;justify-content:center}.finance-verification .modal-icon{width:48px;height:48px}}@media (max-width: 480px){.finance-verification{padding:var(--space-3)}.finance-verification .page-header h1{font-size:var(--text-lg)}.finance-verification .stat-card{padding:var(--space-3);gap:var(--space-3)}.finance-verification .stat-icon{width:36px;height:36px}.finance-verification .stat-value{font-size:var(--text-base)}.finance-verification .stat-label{font-size:var(--text-xs)}.finance-verification .verification-card .card-header,.finance-verification .card-details{padding:var(--space-3)}.finance-verification .card-info .request-number{font-size:var(--text-sm)}.finance-verification .card-info .request-type,.finance-verification .card-meta{font-size:var(--text-xs)}.finance-verification .card-header-right .amount{font-size:var(--text-sm);font-weight:var(--font-semibold)}}@keyframes modalSlideUpMobile{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.ap-requests .modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--space-4)}.ap-requests .modal-content{background:var(--bg-primary);border-radius:var(--radius-xl);max-width:500px;width:90%;max-height:90vh;box-shadow:var(--shadow-2xl);animation:modalSlideUp .3s cubic-bezier(.16,1,.3,1);overflow:hidden;display:flex;flex-direction:column}.ap-requests .modal-header{padding:var(--space-5);border-bottom:1px solid var(--border-primary)}.ap-requests .modal-header h2{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-primary);margin:0}.ap-requests .modal-header p{color:var(--text-secondary);font-size:var(--text-sm);margin:var(--space-1) 0 0}.ap-requests .modal-body{padding:var(--space-5);overflow-y:auto;flex:1}.ap-requests .modal-body .form-group{margin-bottom:0}.ap-requests .modal-body .form-group label{display:block;font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-primary);margin-bottom:var(--space-2)}.ap-requests .modal-body .form-textarea{width:100%;padding:var(--space-3);border:1px solid var(--border-primary);border-radius:var(--radius-lg);font-size:var(--text-sm);resize:vertical;font-family:inherit}.ap-requests .modal-body .form-textarea:focus{outline:none;border-color:var(--primary-500);box-shadow:0 0 0 3px var(--primary-100)}.ap-requests .modal-footer{padding:var(--space-4) var(--space-5);border-top:1px solid var(--border-primary);display:flex;justify-content:flex-end;gap:var(--space-3)}.ap-requests .modal-content.approval-modal{max-width:460px}.ap-requests .modal-content.approval-modal .modal-header{text-align:center;border-bottom:none;padding-bottom:0}.ap-requests .modal-content.approval-modal .modal-header h2{justify-content:center}.ap-requests .modal-icon{width:56px;height:56px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;margin:0 auto var(--space-4)}.ap-requests .modal-icon.approve{background:var(--success-50);color:var(--success-600)}.ap-requests .modal-icon.reject{background:var(--error-50);color:var(--error-600)}.ap-requests .modal-error{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--error-50);border:1px solid var(--error-200);border-radius:var(--radius-lg);font-size:var(--text-sm);color:var(--error-700);margin-bottom:var(--space-4)}.ap-requests .modal-error svg{flex-shrink:0;margin-top:2px;color:var(--error-500)}.ap-requests .rejection-tips{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-3);background:var(--warning-50);border-radius:var(--radius-lg);font-size:var(--text-sm);color:var(--warning-700);margin-top:var(--space-4)}.ap-requests .rejection-tips svg{flex-shrink:0;margin-top:2px;color:var(--warning-500)}.ap-requests .modal-content.settlement-review-modal{max-width:700px}@media (max-width: 640px){.ap-requests .modal-overlay{align-items:flex-end;padding:0}.ap-requests .modal-content{width:100%;max-width:100%;max-height:85vh;border-radius:var(--radius-xl) var(--radius-xl) 0 0;animation:modalSlideUpMobile .3s cubic-bezier(.16,1,.3,1)}.ap-requests .modal-footer{padding:var(--space-4);flex-direction:column;gap:var(--space-2)}.ap-requests .modal-footer .btn{width:100%;justify-content:center}.ap-requests .modal-icon{width:48px;height:48px}}.execute-payments{padding:var(--space-6);max-width:1400px;margin:0 auto}.execute-payments.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:var(--space-4);color:var(--text-secondary)}.execute-payments .spinner,.execute-payments .spinning{animation:spin 1s linear infinite}.execute-payments .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-6)}.execute-payments .page-header-content{display:flex;align-items:center;gap:var(--space-4)}.execute-payments .header-icon{width:56px;height:56px;border-radius:var(--radius-xl);background:linear-gradient(135deg,var(--success-500),var(--success-600));display:flex;align-items:center;justify-content:center;color:#fff}.execute-payments .page-header h1{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--text-primary);margin:0}.execute-payments .page-header p{color:var(--text-secondary);margin:var(--space-1) 0 0}.payment-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4);margin-bottom:var(--space-6)}.payment-stats .stat-card{background:var(--bg-primary);border:2px solid var(--border-primary);border-radius:var(--radius-xl);padding:var(--space-5);display:flex;align-items:center;gap:var(--space-4);cursor:pointer;transition:color .2s ease,background-color .2s ease,border-color .2s ease,box-shadow .2s ease,opacity .2s ease,transform .2s ease}.payment-stats .stat-card:hover{box-shadow:var(--shadow-md)}.payment-stats .stat-card.active{border-color:var(--primary-500);background:var(--primary-50)}.payment-stats .stat-icon{width:56px;height:56px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center}.payment-stats .stat-icon.pending{background:var(--warning-100);color:var(--warning-600)}.payment-stats .stat-icon.completed{background:var(--success-100);color:var(--success-600)}.payment-stats .stat-info{display:flex;flex-direction:column}.payment-stats .stat-value{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--text-primary)}.payment-stats .stat-label{font-size:var(--text-sm);color:var(--text-secondary)}.payment-stats .stat-amount{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--primary-600);margin-top:var(--space-1)}.execute-payments .filter-tabs{display:flex;gap:var(--space-2);margin-bottom:var(--space-5);border-bottom:1px solid var(--border-primary);padding-bottom:var(--space-1)}.execute-payments .filter-tab{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-4);background:none;border:none;font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-secondary);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .2s ease,background-color .2s ease,border-color .2s ease,box-shadow .2s ease,opacity .2s ease,transform .2s ease}.execute-payments .filter-tab:hover{color:var(--text-primary)}.execute-payments .filter-tab.active{color:var(--primary-600);border-bottom-color:var(--primary-600)}.payment-list{background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-xl);overflow:hidden}.execute-payments .empty-state{text-align:center;padding:var(--space-12);color:var(--text-secondary)}.execute-payments .empty-state svg{color:var(--neutral-300);margin-bottom:var(--space-4)}.execute-payments .empty-state h3{color:var(--text-primary);margin:0 0 var(--space-2)}.execute-payments .empty-state p{margin:0}.payment-table-wrapper{overflow-x:auto}.payment-table{width:100%;border-collapse:collapse}.payment-table th,.payment-table td{padding:var(--space-4);text-align:left;border-bottom:1px solid var(--border-primary)}.payment-table th{background:var(--bg-secondary);font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.payment-table tbody tr:hover{background:var(--bg-secondary)}.payment-table tbody tr:last-child td{border-bottom:none}.execute-payments .request-cell{display:flex;flex-direction:column;gap:var(--space-1)}.execute-payments .request-cell .request-number{font-weight:var(--font-semibold);color:var(--text-primary)}.execute-payments .request-cell .request-desc{font-size:var(--text-xs);color:var(--text-secondary)}.execute-payments .submitter-cell{display:flex;flex-direction:column;gap:var(--space-1)}.execute-payments .submitter-cell .name{font-weight:var(--font-medium);color:var(--text-primary)}.execute-payments .submitter-cell .dept{font-size:var(--text-xs);color:var(--text-secondary)}.execute-payments .type-badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);border-radius:var(--radius-md);font-size:var(--text-xs);font-weight:var(--font-medium)}.execute-payments .type-badge.type-reimbursement{background:var(--success-50);color:var(--success-700)}.execute-payments .type-badge.type-cash_advance{background:var(--warning-50);color:var(--warning-700)}.execute-payments .type-badge.type-external{background:var(--primary-50);color:var(--primary-700)}.execute-payments .amount-cell{font-weight:var(--font-semibold);color:var(--text-primary)}.execute-payments .date-cell{font-size:var(--text-sm);color:var(--text-secondary)}.execute-payments .date-overdue{color:var(--error-600);font-weight:var(--font-medium)}.execute-payments .date-approaching{color:var(--warning-600);font-weight:var(--font-medium)}.execute-payments .urgency-label{font-size:var(--text-xs);font-weight:var(--font-semibold)}.execute-payments .action-buttons{display:flex;gap:var(--space-2)}.execute-payments .btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border:none;border-radius:var(--radius-lg);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:color .2s ease,background-color .2s ease,border-color .2s ease,box-shadow .2s ease,opacity .2s ease,transform .2s ease}.execute-payments .btn:disabled{opacity:.6;cursor:not-allowed}.execute-payments .btn-sm{padding:var(--space-1) var(--space-3);font-size:var(--text-xs)}.execute-payments .btn-primary{background:var(--primary-600);color:#fff}.execute-payments .btn-primary:hover:not(:disabled){background:var(--primary-700)}.execute-payments .btn-secondary{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-primary)}.execute-payments .btn-secondary:hover:not(:disabled){background:var(--bg-tertiary)}.execute-payments .modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--space-4)}.execute-payments .modal-content{background:var(--bg-primary);border-radius:var(--radius-xl);width:100%;max-height:90vh;overflow:auto}.execute-payments .modal-content.payment-modal{max-width:600px}.execute-payments .modal-content.view-modal{max-width:650px}.execute-payments .modal-header{padding:var(--space-5);border-bottom:1px solid var(--border-primary);display:flex;justify-content:space-between;align-items:center}.execute-payments .modal-header h2{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-primary);margin:0}.execute-payments .close-btn{width:32px;height:32px;border-radius:var(--radius-md);border:none;background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:color .2s ease,background-color .2s ease,border-color .2s ease,box-shadow .2s ease,opacity .2s ease,transform .2s ease}.execute-payments .close-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.execute-payments .modal-body{padding:var(--space-5)}.execute-payments .modal-footer{padding:var(--space-4) var(--space-5);border-top:1px solid var(--border-primary);display:flex;justify-content:flex-end;gap:var(--space-3)}.payment-summary{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);padding:var(--space-4);margin-bottom:var(--space-5)}.payment-summary .summary-row{display:flex;justify-content:space-between;padding:var(--space-2) 0;font-size:var(--text-sm)}.payment-summary .summary-row .label{color:var(--text-secondary)}.payment-summary .summary-row .value{font-weight:var(--font-medium);color:var(--text-primary)}.payment-summary .summary-row.total{border-top:2px solid var(--border-secondary);margin-top:var(--space-2);padding-top:var(--space-3)}.payment-summary .summary-row.total .value{font-size:var(--text-lg);font-weight:var(--font-bold);color:var(--success)}.payment-summary .summary-row.tax{color:var(--text-tertiary);font-size:var(--text-xs)}.payment-summary .summary-row .value.deduction{color:var(--error)}.recipient-bank-details{background:var(--info-50);border:1px solid var(--info-200);border-radius:var(--radius-lg);padding:var(--space-4);margin-bottom:var(--space-5)}.recipient-bank-details h4{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--info-700);margin:0 0 var(--space-3)}.bank-details-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3)}.bank-detail-item{display:flex;flex-direction:column;gap:var(--space-1)}.bank-detail-item.full-width{grid-column:1 / -1}.bank-detail-item .label{font-size:var(--text-xs);color:var(--text-secondary);font-weight:var(--font-medium)}.bank-detail-item .value{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-primary);background:var(--bg-primary);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);border:1px solid var(--info-200)}.bank-detail-item .value.account-number{font-family:var(--font-mono, monospace);letter-spacing:.05em}.bank-details-warning{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-3);padding:var(--space-2) var(--space-3);background:var(--warning-50);border:1px solid var(--warning-200);border-radius:var(--radius-md);font-size:var(--text-xs);color:var(--warning-700)}.bank-details-warning svg{flex-shrink:0}.original-attachments{margin-bottom:var(--space-5);padding-bottom:var(--space-4);border-bottom:1px solid var(--border-primary)}.disbursement-account-section{background:var(--success-50);border:1px solid var(--success-200);border-radius:var(--radius-lg);padding:var(--space-4);margin-bottom:var(--space-5)}.disbursement-account-section h4{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--success-700);margin:0 0 var(--space-2)}.disbursement-account-section .section-description{font-size:var(--text-xs);color:var(--success-600);margin:0 0 var(--space-3)}.disbursement-account-section .form-group{margin:0}.selected-account-info{display:flex;flex-direction:column;gap:var(--space-1);margin-top:var(--space-2);padding:var(--space-3);background:var(--bg-primary);border:1px solid var(--success-200);border-radius:var(--radius-md)}.selected-account-info .account-name{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-primary)}.selected-account-info .account-number{font-size:var(--text-xs);color:var(--text-secondary);font-family:var(--font-mono, monospace)}.payment-form .form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4);margin-bottom:var(--space-4);align-items:stretch}.payment-form .form-group{margin-bottom:var(--space-4)}.payment-form .form-group:last-child{margin-bottom:0}.payment-form label{display:block;font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-primary);margin-bottom:var(--space-2)}.payment-form .form-input,.payment-form .form-select,.payment-form .form-textarea{width:100%;padding:var(--space-3);border:1px solid var(--border-primary);border-radius:var(--radius-lg);font-size:var(--text-sm);font-family:inherit;background:var(--bg-primary);transition:color .2s ease,background-color .2s ease,border-color .2s ease,box-shadow .2s ease,opacity .2s ease,transform .2s ease}.payment-form .form-input:focus,.payment-form .form-select:focus,.payment-form .form-textarea:focus{outline:none;border-color:var(--primary-500);box-shadow:0 0 0 3px var(--primary-100)}.payment-form .form-textarea{resize:vertical}.execute-payments .file-upload-area{position:relative}.execute-payments .file-input{position:absolute;width:100%;height:100%;opacity:0;cursor:pointer;z-index:1}.execute-payments .file-upload-label{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-6);border:2px dashed var(--border-primary);border-radius:var(--radius-lg);background:var(--bg-secondary);color:var(--text-secondary);text-align:center;cursor:pointer;transition:color .2s ease,background-color .2s ease,border-color .2s ease,box-shadow .2s ease,opacity .2s ease,transform .2s ease}.execute-payments .file-upload-area:hover .file-upload-label{border-color:var(--primary-400);background:var(--primary-50)}.execute-payments .file-upload-label span{margin-top:var(--space-2);font-size:var(--text-sm)}.execute-payments .file-upload-label .file-hint{font-size:var(--text-xs);color:var(--text-tertiary)}.execute-payments .uploaded-files{margin-top:var(--space-3);display:flex;flex-direction:column;gap:var(--space-2)}.execute-payments .uploaded-file{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-md);font-size:var(--text-sm)}.execute-payments .uploaded-file .file-name{flex:1;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.execute-payments .uploaded-file .file-size{color:var(--text-tertiary);font-size:var(--text-xs)}.execute-payments .uploaded-file .remove-file{width:20px;height:20px;border-radius:var(--radius-sm);border:none;background:var(--error-100);color:var(--error-600);cursor:pointer;display:flex;align-items:center;justify-content:center}.execute-payments .uploaded-file .remove-file:hover{background:var(--error-200)}.execute-payments .view-section{margin-bottom:var(--space-5)}.execute-payments .view-section:last-child{margin-bottom:0}.execute-payments .view-section h4{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-primary);margin:0 0 var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid var(--border-primary)}.execute-payments .view-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3)}.execute-payments .view-item{display:flex;flex-direction:column;gap:var(--space-1)}.execute-payments .view-item .label{font-size:var(--text-xs);color:var(--text-secondary)}.execute-payments .view-item .value{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-primary)}.execute-payments .view-item .value.amount{font-weight:var(--font-bold);color:var(--primary-600)}.execute-payments .proof-preview{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3);background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-md)}.execute-payments .proof-preview span{flex:1;font-size:var(--text-sm);color:var(--text-primary)}.execute-payments .view-section.history-section{margin-top:var(--space-5);padding-top:var(--space-5);border-top:1px solid var(--border-primary)}.execute-payments .view-section.payment-proof-section{background:var(--success-50);border:1px solid var(--success-200);border-radius:var(--radius-lg);padding:var(--space-4)}.execute-payments .view-section.payment-proof-section .attachments-header{color:var(--success-700)}@media (max-width: 768px){.execute-payments{padding:var(--space-4)}.execute-payments .page-header{flex-direction:column;align-items:flex-start;gap:var(--space-4)}.payment-stats{grid-template-columns:1fr}.execute-payments .filter-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch}.payment-table{font-size:var(--text-sm)}.payment-table th,.payment-table td{padding:var(--space-3)}.payment-form .form-row,.view-grid{grid-template-columns:1fr}}.date-range-filter{position:relative;width:100%}.date-range-filter.compact{width:auto;min-width:260px}.date-range-label{display:block;font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-secondary);margin-bottom:var(--space-2)}.date-range-trigger{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:10px 14px;background:var(--bg-primary);border:1px solid var(--border-secondary);border-radius:var(--radius-lg);cursor:pointer;transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast),transform var(--transition-fast);box-shadow:var(--shadow-xs)}.date-range-trigger:hover{border-color:var(--border-tertiary)}.date-range-trigger.focused{border-color:var(--primary-400);box-shadow:var(--focus-ring)}.date-range-trigger.has-value{border-color:var(--primary-300);background:var(--primary-50)}.date-range-icon{color:var(--text-quaternary);flex-shrink:0}.date-range-trigger.has-value .date-range-icon{color:var(--primary-600)}.date-range-value{flex:1;font-family:var(--font-family);font-size:var(--text-md);color:var(--text-primary);text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.date-range-value.placeholder{color:var(--text-placeholder)}.date-range-trigger.has-value .date-range-value{color:var(--primary-700);font-weight:var(--font-medium)}.date-range-actions{display:flex;align-items:center;gap:var(--space-1);flex-shrink:0}.date-range-clear{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;background:var(--bg-tertiary);border-radius:var(--radius-sm);color:var(--text-quaternary);cursor:pointer;transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast),transform var(--transition-fast)}.date-range-clear:hover{background:var(--error-100);color:var(--error-600)}.date-range-chevron{color:var(--text-quaternary);transition:transform var(--transition-fast)}.date-range-chevron.open{transform:rotate(180deg)}.date-range-dropdown{position:absolute;top:calc(100% + 8px);left:0;z-index:var(--z-dropdown);min-width:380px;background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);overflow:hidden;animation:dateRangeSlideIn var(--transition-fast) ease}@keyframes dateRangeSlideIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.date-range-presets{padding:var(--space-4);border-bottom:1px solid var(--border-primary);background:var(--bg-secondary)}.presets-title{font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--text-quaternary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-3)}.presets-grid{display:flex;flex-wrap:wrap;gap:var(--space-2)}.preset-btn{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-3);font-family:var(--font-family);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-secondary);background:var(--bg-primary);border:1px solid var(--border-secondary);border-radius:var(--radius-md);cursor:pointer;transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast),transform var(--transition-fast)}.preset-btn:hover{background:var(--bg-tertiary);border-color:var(--border-tertiary)}.preset-btn.active{background:var(--primary-50);border-color:var(--primary-300);color:var(--primary-700)}.preset-btn.active svg{color:var(--primary-600)}.date-range-pickers{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4);padding:var(--space-4)}.date-range-picker-group{display:flex;flex-direction:column}.date-range-pickers .datepicker-container{width:100%}.date-range-pickers .datepicker-dropdown{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);z-index:calc(var(--z-dropdown) + 10)}.date-range-footer{display:flex;justify-content:flex-end;gap:var(--space-3);padding:var(--space-4);border-top:1px solid var(--border-primary);background:var(--bg-secondary)}.date-range-footer .btn{padding:var(--space-2) var(--space-4);font-size:var(--text-sm)}.date-range-filter.compact .date-range-dropdown{min-width:320px;right:0;left:auto}.date-range-filter.compact .date-range-pickers{grid-template-columns:1fr}@media (max-width: 480px){.date-range-dropdown{position:fixed;top:auto;bottom:0;left:0;right:0;min-width:100%;border-radius:var(--radius-xl) var(--radius-xl) 0 0;max-height:85vh;overflow-y:auto;animation:dateRangeSlideUp var(--transition-fast) ease}@keyframes dateRangeSlideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.date-range-pickers{grid-template-columns:1fr}.presets-grid{justify-content:center}}.ap-database{padding:var(--space-6);max-width:1600px;margin:0 auto}.ap-database .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-6)}.ap-database .page-header-content{display:flex;align-items:center;gap:var(--space-4)}.ap-database .header-icon{width:56px;height:56px;border-radius:var(--radius-xl);background:linear-gradient(135deg,var(--primary-500),var(--primary-600));display:flex;align-items:center;justify-content:center;color:#fff}.ap-database .page-header h1{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--text-primary);margin:0}.ap-database .page-header p{color:var(--text-secondary);margin:var(--space-1) 0 0}.ap-database .btn-filter{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-secondary);cursor:pointer;transition:color .2s ease,background-color .2s ease,border-color .2s ease,box-shadow .2s ease,opacity .2s ease,transform .2s ease}.ap-database .btn-filter:hover{border-color:var(--primary-300);color:var(--text-primary)}.ap-database .btn-filter.active{border-color:var(--primary-500);background:var(--primary-50);color:var(--primary-700)}.ap-database .table-container{background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-xl);overflow-x:auto;-webkit-overflow-scrolling:touch}.ap-database .loading-state,.ap-database .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-16);color:var(--text-secondary);gap:var(--space-4)}.ap-database .loading-state .spinner{animation:spin 1s linear infinite}.ap-database .spinning{animation:spin 1s linear infinite}.ap-database .empty-state svg{color:var(--neutral-300)}.ap-database .empty-state h3{color:var(--text-primary);margin:0}.ap-database .empty-state p{margin:0}.ap-database .data-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.ap-database .data-table th,.ap-database .data-table td{padding:var(--space-3) var(--space-4);text-align:left;border-bottom:1px solid var(--border-primary)}.ap-database .data-table th{white-space:nowrap}.ap-database .data-table th{background:var(--bg-secondary);font-weight:var(--font-semibold);color:var(--text-secondary);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;position:sticky;top:0;z-index:1}.ap-database .data-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.ap-database .data-table th.sortable:hover{background:var(--bg-tertiary)}.ap-database .data-table th.sortable svg{display:inline-block;vertical-align:middle;margin-left:var(--space-1)}.ap-database .data-table tbody tr:hover{background:var(--bg-secondary)}.ap-database .data-table tbody tr:last-child td{border-bottom:none}.request-number{font-family:SF Mono,Monaco,monospace;font-weight:var(--font-semibold);color:var(--primary-600)}.type-badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);border-radius:var(--radius-md);font-size:var(--text-xs);font-weight:var(--font-medium)}.type-badge.type-reimbursement,.type-badge.type-cash_advance,.type-badge.type-external{background:var(--neutral-100);color:var(--neutral-600)}.submitter-cell{display:flex;flex-direction:column;gap:2px}.submitter-cell .name{font-weight:var(--font-medium);color:var(--text-primary)}.submitter-cell .dept{font-size:var(--text-xs);color:var(--text-tertiary)}.vendor-cell{display:flex;flex-direction:column;gap:2px}.vendor-cell .vendor-name{color:var(--text-primary)}.vendor-cell .vendor-npwp{font-size:var(--text-xs);color:var(--text-tertiary);font-family:SF Mono,Monaco,monospace}.description-cell{display:flex;flex-direction:column;gap:var(--space-1);max-width:300px;word-break:break-word}.description-cell .description-text{color:var(--text-primary);font-size:var(--text-sm);line-height:1.4}.description-cell .category-tag{display:inline-block;font-size:var(--text-xs);padding:2px 8px;background:var(--primary-50);color:var(--primary-700);border-radius:var(--radius-sm);width:fit-content}.pph-badge{font-size:var(--text-xs);padding:2px 6px;background:var(--neutral-100);color:var(--neutral-700);border-radius:var(--radius-sm)}.ap-database .btn-icon{width:32px;height:32px;padding:0;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;transition:color .2s ease,background-color .2s ease,border-color .2s ease,box-shadow .2s ease,opacity .2s ease,transform .2s ease}.ap-database .btn-icon:hover:not(:disabled){background:var(--bg-tertiary);color:var(--text-primary)}.ap-database .btn-icon:disabled{opacity:.5;cursor:not-allowed}.ap-database .btn-icon-danger{color:var(--error-600)}.ap-database .btn-icon-danger:hover:not(:disabled){background:var(--error-50);color:var(--error-700)}.ap-database .btn-view{padding:var(--space-1) var(--space-3);background:var(--primary-50);border:1px solid var(--primary-200);color:var(--primary-700);font-size:var(--text-xs);font-weight:var(--font-medium);border-radius:var(--radius-md);cursor:pointer;display:inline-flex;align-items:center;gap:var(--space-1);transition:color .2s ease,background-color .2s ease,border-color .2s ease,box-shadow .2s ease,opacity .2s ease,transform .2s ease}.ap-database .btn-view:hover{background:var(--primary-100);border-color:var(--primary-300);color:var(--primary-800)}.ap-database .pagination{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4);background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);margin-top:var(--space-4)}.ap-database .pagination-info{font-size:var(--text-sm);color:var(--text-secondary)}.ap-database .pagination-controls{display:flex;align-items:center;gap:var(--space-3)}.ap-database .pagination-controls select{padding:var(--space-2) var(--space-3);border:1px solid var(--border-primary);border-radius:var(--radius-md);font-size:var(--text-sm);background:var(--bg-primary);color:var(--text-primary)}.ap-database .modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1100;padding:var(--space-4);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.ap-database .modal-content{background:var(--bg-primary);border-radius:var(--radius-xl);width:90%;max-width:900px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow-2xl);animation:modalSlideUp .3s cubic-bezier(.16,1,.3,1)}.ap-database .modal-header{padding:var(--space-5);border-bottom:1px solid var(--border-primary);display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;background:var(--bg-primary);z-index:1}.ap-database .modal-title{display:flex;align-items:center;gap:var(--space-3)}.ap-database .modal-title h2{font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--text-primary);margin:0;font-family:SF Mono,Monaco,monospace}.ap-database .close-btn{width:36px;height:36px;border-radius:var(--radius-md);border:1px solid var(--border-primary);background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:color .2s ease,background-color .2s ease,border-color .2s ease,box-shadow .2s ease,opacity .2s ease,transform .2s ease}.ap-database .close-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.ap-database .modal-body{padding:var(--space-5);flex:1;overflow-y:auto}.ap-database .modal-footer{padding:var(--space-4) var(--space-5);border-top:1px solid var(--border-primary);display:flex;justify-content:flex-end;gap:var(--space-3);position:sticky;bottom:0;background:var(--bg-primary)}.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-5);margin-bottom:var(--space-5)}.detail-section{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);padding:var(--space-4)}.detail-section h4{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-primary);margin:0 0 var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid var(--border-primary)}.detail-section.rejection-section{border-color:var(--error-200);background:var(--error-50)}.detail-section.rejection-section h4{color:var(--error-700);border-color:var(--error-200)}.detail-row{display:flex;gap:var(--space-2);margin-bottom:var(--space-2);font-size:var(--text-sm)}.detail-row:last-child{margin-bottom:0}.detail-row .label{color:var(--text-tertiary);min-width:100px;flex-shrink:0}.detail-row .value{color:var(--text-primary);font-weight:var(--font-medium)}.detail-row .value.amount{font-weight:var(--font-bold);color:var(--primary-600)}.detail-row .value.rejection-reason{color:var(--error-700)}.classification-badge{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-2);border-radius:var(--radius-md);font-size:var(--text-xs);font-weight:var(--font-semibold)}.classification-badge.internal{background:var(--info-50);color:var(--info-700)}.classification-badge.external{background:var(--success-50);color:var(--success-700)}.attachments-section{margin-top:var(--space-5);padding-top:var(--space-5);border-top:1px solid var(--border-primary)}.attachments-section.payment-proof-section{background:var(--success-50);border:1px solid var(--success-200);border-radius:var(--radius-lg);padding:var(--space-4);margin-top:var(--space-4);border-top:none}.attachments-section.payment-proof-section .attachments-header{color:var(--success-700)}.document-timeline-section,.timeline-section{margin-top:var(--space-5);padding-top:var(--space-5);border-top:1px solid var(--border-primary)}.detail-section.paid-section{background:var(--success-50);border:1px solid var(--success-200);border-radius:var(--radius-lg);padding:var(--space-4)}.detail-section.paid-section h4{color:var(--success-700)}.detail-section.settlement-section{background:var(--primary-50);border:1px solid var(--primary-200);border-radius:var(--radius-lg);padding:var(--space-4)}.detail-section.settlement-section h4{color:var(--primary-700)}.settlement-expenses-table{margin-top:var(--space-3);border:1px solid var(--border-primary);border-radius:var(--radius-md);overflow:hidden}.settlement-expenses-table table{width:100%;border-collapse:collapse}.ap-database .btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border:none;border-radius:var(--radius-lg);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:color .2s ease,background-color .2s ease,border-color .2s ease,box-shadow .2s ease,opacity .2s ease,transform .2s ease}.ap-database .btn:disabled{opacity:.6;cursor:not-allowed}.ap-database .btn-secondary{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-primary)}.ap-database .btn-secondary:hover:not(:disabled){background:var(--bg-tertiary)}.ap-database .btn-ghost{background:transparent;color:var(--text-secondary)}.ap-database .btn-ghost:hover:not(:disabled){background:var(--bg-secondary);color:var(--text-primary)}.db-card-id{font-family:SF Mono,Monaco,monospace;font-weight:var(--font-semibold);color:var(--primary-600);font-size:var(--text-sm)}@media (max-width: 640px){.ap-database .modal-overlay{padding:0;align-items:flex-end}.ap-database .modal-content{width:100%;max-width:none;max-height:90dvh;border-radius:16px 16px 0 0;animation:modalSlideUp .3s cubic-bezier(.16,1,.3,1)}}@media (max-width: 768px){.ap-database{padding:var(--space-4)}.ap-database .page-header{flex-direction:column;align-items:flex-start;gap:var(--space-4)}.header-actions{width:100%}.header-actions .btn{flex:1;justify-content:center}.filters-section,.advanced-filters{flex-direction:column}.filter-group{width:100%}.stats-row{flex-wrap:wrap}.stat-item{flex:1;min-width:120px;padding-right:var(--space-4)}.detail-grid{grid-template-columns:1fr}.desktop-table{display:none}.mobile-cards{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-3)}.pagination{flex-direction:column;gap:var(--space-3)}.pagination-info{text-align:center;font-size:var(--text-xs)}.pagination-controls{width:100%;justify-content:space-between}.pagination-controls select{display:none}}@media (max-width: 480px){.ap-database{padding:var(--space-3)}.header-actions{flex-wrap:wrap}.filters-section{flex-direction:column;gap:var(--space-2)}.filters-section>*{width:100%}.stats-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}.stat-item{min-width:0;border-right:none!important;padding-right:0}.stat-item-value{font-size:var(--text-lg, 1.125rem)}.mobile-cards{padding:var(--space-2)!important}}.db-row-clickable:hover .request-number{text-decoration:underline}.ar-quotations{max-width:1400px;margin:0 auto}.quotations-table-container{background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-xl);overflow-x:auto;-webkit-overflow-scrolling:touch}.quotations-table{width:100%;border-collapse:collapse}.quotations-table thead{background:var(--bg-secondary);border-bottom:1px solid var(--border-primary)}.quotations-table th{padding:var(--space-4);text-align:left;font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em}.quotations-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.quotations-table th.sortable:hover{color:var(--text-primary);background:var(--bg-secondary)}.quotations-table th.sortable svg{display:inline-block;vertical-align:middle;margin-left:4px}.quotations-table td{padding:var(--space-4);border-bottom:1px solid var(--border-primary);vertical-align:middle}.quotations-table tbody tr:last-child td{border-bottom:none}.quotations-table tbody tr:hover{background:var(--bg-secondary)}.quotation-number-cell{display:flex;flex-direction:column;gap:2px}.quotation-number{font-family:monospace;font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--primary-600)}.quotation-date{font-size:var(--text-xs);color:var(--text-quaternary)}.client-cell{display:flex;align-items:center;gap:var(--space-3)}.client-avatar{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);color:var(--text-tertiary);border-radius:var(--radius-md)}.client-info{display:flex;flex-direction:column;gap:2px}.client-name{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-primary)}.client-pic{font-size:var(--text-xs);color:var(--text-tertiary)}.service-cell .service-name{font-size:var(--text-sm);color:var(--text-primary)}.amount{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-primary)}.valid-date{font-size:var(--text-sm);color:var(--text-secondary)}.valid-date.expired{color:var(--error-600)}.billing-badge{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-2);border-radius:var(--radius-md);font-size:var(--text-xs);font-weight:var(--font-medium)}.actions-dropdown{position:relative}.ar-quotations .dropdown-menu{position:absolute;top:100%;right:0;margin-top:var(--space-1);min-width:160px;background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:50;overflow:hidden}.ar-quotations .dropdown-menu button{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);font-size:var(--text-sm);color:var(--text-secondary);background:transparent;border:none;cursor:pointer;text-align:left;transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast),transform var(--transition-fast)}.ar-quotations .dropdown-menu button:hover{background:var(--bg-secondary);color:var(--text-primary)}.ar-quotations .dropdown-menu button.dropdown-danger{color:var(--error-600)}.ar-quotations .dropdown-menu button.dropdown-danger:hover{background:var(--error-50);color:var(--error-700)}.quotation-card{background:var(--bg-primary);border-bottom:1px solid var(--border-primary);padding:var(--space-4);cursor:pointer;transition:background .15s ease}.quotation-card:active{background:var(--bg-secondary)}.quotation-card:last-child{border-bottom:none}.quotation-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-2)}.quotation-card-id{font-family:monospace;font-weight:var(--font-semibold);color:var(--primary-600);font-size:var(--text-sm)}.quotation-card-body{margin-bottom:var(--space-3)}.quotation-card-client{display:flex;align-items:center;gap:var(--space-2);font-weight:var(--font-medium);color:var(--text-primary);font-size:var(--text-sm);margin-bottom:var(--space-1)}.quotation-card-service{font-size:var(--text-xs);color:var(--text-tertiary);margin-bottom:var(--space-2)}.quotation-card-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);font-size:var(--text-xs);color:var(--text-tertiary)}.quotation-card-footer{display:flex;justify-content:space-between;align-items:center;padding-top:var(--space-3);border-top:1px solid var(--border-primary)}.quotation-card-amount{font-size:var(--text-md);font-weight:var(--font-bold);color:var(--text-primary)}.quotation-card-actions{display:flex;gap:var(--space-2)}@media (max-width: 768px){.desktop-table{display:none}.mobile-cards{display:block}}.ar-quotations .modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1100;padding:var(--space-4)}.ar-quotations .modal-content{background:var(--bg-primary);border-radius:var(--radius-xl);width:100%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow-xl);animation:modalSlideUp .25s cubic-bezier(.16,1,.3,1)}.ar-quotations .modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-primary);flex-shrink:0}.ar-quotations .modal-header h2,.ar-quotations .modal-header h3{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-primary);margin:0}.ar-quotations .modal-body{flex:1;overflow-y:auto;padding:var(--space-5) var(--space-6)}.ar-quotations .modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-top:1px solid var(--border-primary);flex-shrink:0;background:var(--bg-secondary)}.ar-quotations .close-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;color:var(--text-tertiary);border-radius:var(--radius-md);cursor:pointer;transition:background .2s ease,color .2s ease}.ar-quotations .close-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}@media (max-width: 640px){.ar-quotations .modal-overlay{padding:0;align-items:flex-end}.ar-quotations .modal-content{border-radius:16px 16px 0 0;max-height:92dvh}}.user-search-container{display:flex;flex-direction:column;gap:var(--space-3);position:relative}.user-search-label{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-secondary)}.user-search-input-wrapper{position:relative;display:flex;align-items:center}.user-search-input-wrapper .search-icon{position:absolute;left:var(--space-3);color:var(--text-quaternary);pointer-events:none}.user-search-input{width:100%;padding:var(--space-3) var(--space-4);padding-left:var(--space-10);padding-right:var(--space-10);border:1px solid var(--border-primary);border-radius:var(--radius-lg);font-size:var(--text-sm);color:var(--text-primary);background:var(--bg-primary);transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast),transform var(--transition-fast)}.user-search-input:hover{border-color:var(--border-secondary)}.user-search-input:focus{outline:none;border-color:var(--primary-300);box-shadow:var(--focus-ring)}.user-search-input:disabled{background:var(--bg-secondary);cursor:not-allowed}.user-search-input::placeholder{color:var(--text-placeholder)}.search-spinner{position:absolute;right:var(--space-3);color:var(--primary-500);animation:spin 1s linear infinite}.clear-search-btn{position:absolute;right:var(--space-2);width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--text-quaternary);border-radius:var(--radius-md);cursor:pointer;transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast),transform var(--transition-fast)}.clear-search-btn:hover{background:var(--bg-tertiary);color:var(--text-secondary)}.user-search-dropdown{position:absolute;top:100%;left:0;right:0;margin-top:var(--space-1);background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:100;max-height:320px;overflow-y:auto}.user-search-result{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3);background:transparent;border:none;border-bottom:1px solid var(--border-primary);cursor:pointer;text-align:left;transition:background var(--transition-fast)}.user-search-result:last-child{border-bottom:none}.user-search-result:hover{background:var(--bg-secondary)}.result-avatar{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-semibold);color:#fff;flex-shrink:0}.result-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.result-name{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-primary)}.result-meta{font-size:var(--text-xs);color:var(--text-tertiary)}.add-icon{color:var(--primary-500);opacity:0;transition:opacity var(--transition-fast)}.user-search-result:hover .add-icon{opacity:1}.no-results{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-6);color:var(--text-tertiary);font-size:var(--text-sm)}.selected-users{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);background:var(--bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--border-primary)}.selected-users-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.selected-count{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-primary)}.order-hint{font-size:var(--text-xs);color:var(--text-tertiary)}.selected-users-list{display:flex;flex-direction:column;gap:var(--space-2)}.selected-user-item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);cursor:grab;transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast),transform var(--transition-fast)}.selected-user-item:hover{border-color:var(--border-secondary);box-shadow:var(--shadow-sm)}.selected-user-item:active{cursor:grabbing}.selected-user-item[draggable=false]{cursor:default}.drag-handle{color:var(--text-quaternary);cursor:grab}.drag-handle:active{cursor:grabbing}.order-badge{width:22px;height:22px;display:flex;align-items:center;justify-content:center;background:var(--primary-100);color:var(--primary-700);font-size:var(--text-xs);font-weight:var(--font-bold);border-radius:var(--radius-full);flex-shrink:0}.user-avatar-small{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);color:var(--text-secondary);font-size:var(--text-xs);font-weight:var(--font-semibold);border-radius:var(--radius-full);flex-shrink:0}.user-info-compact{flex:1;min-width:0;display:flex;flex-direction:column}.user-name-compact{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-position-compact{font-size:var(--text-xs);color:var(--text-tertiary)}.remove-user-btn{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--text-quaternary);border-radius:var(--radius-md);cursor:pointer;transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast),transform var(--transition-fast)}.remove-user-btn:hover{background:var(--error-50);color:var(--error-600)}.max-selection-hint{font-size:var(--text-xs);color:var(--warning-600);margin:0}@media (max-width: 640px){.selected-users-header{flex-direction:column;align-items:flex-start}.order-hint{display:none}}.quotation-form-page{max-width:1400px;margin:0 auto}.form-page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-6);flex-wrap:wrap;gap:var(--space-4)}.back-btn{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:transparent;border:none;color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;border-radius:var(--radius-md);transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast),transform var(--transition-fast)}.back-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.quotation-form-container{display:grid;grid-template-columns:1fr 320px;gap:var(--space-6);align-items:start}.form-main{display:flex;flex-direction:column;gap:var(--space-5)}.form-card{background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-xl);padding:var(--space-6)}.quotation-header-info{display:flex;justify-content:space-between;align-items:center}.quotation-number-display,.quotation-date-display{display:flex;flex-direction:column;gap:var(--space-1)}.quotation-number-display .label,.quotation-date-display .label{font-size:var(--text-xs);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em}.quotation-number-display .value{font-family:monospace;font-size:var(--text-lg);font-weight:var(--font-bold);color:var(--primary-600)}.quotation-date-display .value{font-size:var(--text-md);font-weight:var(--font-medium);color:var(--text-primary)}.form-section-title{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-md);font-weight:var(--font-semibold);color:var(--text-primary);margin:0 0 var(--space-5) 0;padding-bottom:var(--space-3);border-bottom:1px solid var(--border-primary)}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4)}.form-grid.three-cols{grid-template-columns:repeat(3,1fr)}.quotation-form-page .form-group{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-4)}.quotation-form-page .form-group:last-child{margin-bottom:0}.quotation-form-page .form-label{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-secondary)}.quotation-form-page .form-label svg{color:var(--text-tertiary)}.required{color:var(--error-500, #dc2626);font-weight:700}.form-input,.form-select,.form-textarea{padding:var(--space-3) var(--space-4);font-size:var(--text-sm);color:var(--text-primary);background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast),transform var(--transition-fast)}.form-input:hover,.form-select:hover,.form-textarea:hover{border-color:var(--border-secondary)}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--primary-300);background:var(--bg-primary);box-shadow:var(--focus-ring)}.form-input.error,.form-textarea.error{border-color:var(--error-500)}.form-input.error:focus,.form-textarea.error:focus{box-shadow:0 0 0 3px #ef44441a}.form-textarea{resize:vertical;min-height:80px}.form-select{cursor:pointer}.error-message{font-size:var(--text-xs);color:var(--error-500)}.input-with-prefix{display:flex;align-items:center;border:1px solid var(--border-primary);border-radius:var(--radius-lg);background:var(--bg-secondary);overflow:hidden;transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast),transform var(--transition-fast)}.input-with-prefix:hover{border-color:var(--border-secondary)}.input-with-prefix:focus-within{border-color:var(--primary-300);background:var(--bg-primary);box-shadow:var(--focus-ring)}.input-prefix{padding:var(--space-3) var(--space-4);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-tertiary);background:var(--bg-tertiary);border-right:1px solid var(--border-primary)}.input-with-prefix .form-input{border:none;background:transparent;flex:1}.input-with-prefix .form-input:focus{box-shadow:none}.form-sidebar{display:flex;flex-direction:column;gap:var(--space-5);position:sticky;top:calc(var(--navbar-height) + var(--space-6))}.sidebar-card{background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-xl);padding:var(--space-5)}.sidebar-card h4{font-size:var(--text-md);font-weight:var(--font-semibold);color:var(--text-primary);margin:0 0 var(--space-3) 0}.sidebar-description{font-size:var(--text-sm);color:var(--text-tertiary);margin-bottom:var(--space-4);line-height:1.5}.summary-card{background:linear-gradient(135deg,var(--primary-50) 0%,var(--bg-primary) 100%);border-color:var(--primary-100)}.summary-rows{display:flex;flex-direction:column;gap:var(--space-3)}.summary-row{display:flex;justify-content:space-between;align-items:center;font-size:var(--text-sm);color:var(--text-secondary)}.summary-row .amount{font-weight:var(--font-medium);color:var(--text-primary)}.summary-row.total{padding-top:var(--space-3);border-top:1px solid var(--border-primary);font-weight:var(--font-semibold)}.summary-row.total .total-amount{font-size:var(--text-lg);color:var(--primary-600)}.help-card{background:var(--bg-secondary)}.help-card p{font-size:var(--text-sm);color:var(--text-tertiary);margin:0;line-height:1.5}.pdf-preview-modal{width:100%;max-width:900px;max-height:90vh;background:var(--bg-primary);border-radius:var(--radius-2xl);box-shadow:var(--shadow-2xl);display:flex;flex-direction:column;overflow:hidden}.pdf-preview-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--border-primary)}.pdf-preview-header h2{font-size:var(--text-lg);font-weight:var(--font-bold);color:var(--text-primary);margin:0}.preview-actions{display:flex;gap:var(--space-3)}.pdf-preview-content{flex:1;overflow-y:auto;padding:var(--space-6);background:var(--neutral-100)}.pdf-document{background:#fff;padding:var(--space-8);max-width:800px;margin:0 auto;box-shadow:var(--shadow-lg);font-family:Times New Roman,serif;color:#333}.pdf-letterhead{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-6);padding-bottom:var(--space-4);border-bottom:2px solid var(--primary-600)}.company-logo h1{font-size:28px;font-weight:700;color:var(--primary-600);margin:0}.company-info{text-align:right;font-size:12px;line-height:1.6}.company-info p{margin:0}.pdf-title{text-align:center;margin-bottom:var(--space-6)}.pdf-title h2{font-size:24px;font-weight:700;margin:0 0 var(--space-2) 0;letter-spacing:2px}.pdf-title p{font-size:12px;margin:2px 0;color:#666}.pdf-recipient{margin-bottom:var(--space-5);font-size:14px;line-height:1.6}.pdf-recipient p{margin:2px 0}.pdf-service{margin-bottom:var(--space-5)}.pdf-service table{width:100%;border-collapse:collapse;font-size:14px}.pdf-service th,.pdf-service td{padding:var(--space-3);text-align:left;border:1px solid #ddd}.pdf-service th{background:var(--neutral-100);font-weight:700}.pdf-service td p{margin:var(--space-1) 0 0 0;font-size:12px;color:#666}.pdf-service tfoot td{font-size:13px}.pdf-service .total-row td{background:var(--neutral-50);font-size:14px}.pdf-validity{margin-bottom:var(--space-4);font-size:14px}.pdf-terms{margin-bottom:var(--space-6);font-size:12px;line-height:1.6}.pdf-terms p{margin:var(--space-1) 0}.pdf-signature{display:flex;justify-content:space-between;margin-top:var(--space-8)}.signature-block{text-align:center;width:200px}.signature-block p{margin:0;font-size:14px}.signature-line{height:60px;border-bottom:1px solid #333;margin:var(--space-2) 0}@media print{.form-page-header,.form-sidebar,.pdf-preview-header{display:none!important}.pdf-document{box-shadow:none;padding:0}}@media (max-width: 1024px){.quotation-form-container{grid-template-columns:1fr}.form-sidebar{position:static;flex-direction:row;flex-wrap:wrap}.sidebar-card{flex:1;min-width:280px}}@media (max-width: 768px){.form-page-header{flex-direction:column;align-items:stretch}.header-actions{position:fixed;bottom:0;left:0;right:0;z-index:100;display:flex;gap:var(--space-2);padding:var(--space-3) var(--space-4);padding-bottom:calc(var(--space-3) + env(safe-area-inset-bottom,0px));background:var(--bg-primary);border-top:1px solid var(--border-primary);box-shadow:0 -2px 10px #00000014}.header-actions .btn{flex:1;justify-content:center;font-size:var(--text-xs);padding:var(--space-3) var(--space-2)}.quotation-form-page{padding-bottom:calc(80px + env(safe-area-inset-bottom,0px))}.form-grid,.form-grid.three-cols{grid-template-columns:1fr}.quotation-header-info{flex-direction:column;gap:var(--space-3)}.pdf-preview-modal{max-width:100%;max-height:100vh;border-radius:0}.pdf-signature{flex-direction:column;gap:var(--space-6);align-items:center}}.quotation-form-page .modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1100;padding:var(--space-4)}.quotation-form-page .modal-content{background:var(--bg-primary);border-radius:var(--radius-xl);width:100%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow-xl);animation:modalSlideUp .25s cubic-bezier(.16,1,.3,1)}.quotation-form-page .modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-primary);flex-shrink:0}.quotation-form-page .modal-header h2,.quotation-form-page .modal-header h3{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-primary);margin:0}.quotation-form-page .modal-body{flex:1;overflow-y:auto;padding:var(--space-5) var(--space-6)}.quotation-form-page .modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-top:1px solid var(--border-primary);flex-shrink:0;background:var(--bg-secondary)}.quotation-form-page .close-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;color:var(--text-tertiary);border-radius:var(--radius-md);cursor:pointer;transition:background .2s ease,color .2s ease}.quotation-form-page .close-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}@media (max-width: 640px){.quotation-form-page .modal-overlay{padding:0;align-items:flex-end}.quotation-form-page .modal-content{border-radius:16px 16px 0 0;max-height:92dvh}}.form-field{display:flex;flex-direction:column;gap:.375rem}.form-field-label{font-size:.875rem;font-weight:500;color:var(--text-primary);display:flex;align-items:center;gap:.25rem}.form-field-required{color:var(--error-500, #dc2626);font-weight:700}.form-field-input-wrapper{position:relative}.form-input,.form-textarea{width:100%;padding:.625rem .875rem;font-size:.875rem;font-family:var(--font-family);color:var(--text-primary);background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-md);transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.form-input::placeholder,.form-textarea::placeholder{color:var(--text-tertiary)}.form-input:hover:not(:disabled),.form-textarea:hover:not(:disabled){border-color:var(--neutral-400)}.form-input:focus,.form-textarea:focus{outline:none;border-color:var(--primary-500);box-shadow:0 0 0 3px #00a1f626}.form-input:disabled,.form-textarea:disabled{background:var(--neutral-100);color:var(--text-tertiary);cursor:not-allowed}.form-input-error{border-color:var(--danger-500)!important}.form-input-error:focus{box-shadow:0 0 0 3px #dc262626!important}.form-textarea{resize:vertical;min-height:100px}.form-field-error-message,.form-field-hint{display:flex;align-items:flex-start;gap:.375rem;font-size:.8125rem;line-height:1.4}.form-field-error-message{color:var(--danger-600)}.form-field-error-message svg,.form-field-hint svg{flex-shrink:0;margin-top:2px}.form-field-hint{color:var(--text-tertiary)}.form-checkbox-wrapper{display:flex;flex-direction:column;gap:.375rem}.form-checkbox-label{display:flex;align-items:center;gap:.625rem;cursor:pointer;position:relative}.form-checkbox{position:absolute;opacity:0;width:0;height:0}.form-checkbox-custom{width:18px;height:18px;border:2px solid var(--border-primary);border-radius:var(--radius-sm);background:var(--bg-primary);display:flex;align-items:center;justify-content:center;transition:color var(--duration-fast) var(--ease-out),background-color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out),opacity var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out);flex-shrink:0}.form-checkbox-custom:after{content:"";width:10px;height:6px;border:2px solid white;border-top:none;border-right:none;transform:rotate(-45deg) scale(0);transition:transform var(--duration-fast) var(--ease-out)}.form-checkbox:checked+.form-checkbox-custom{background:var(--primary-500);border-color:var(--primary-500)}.form-checkbox:checked+.form-checkbox-custom:after{transform:rotate(-45deg) scale(1)}.form-checkbox:focus-visible+.form-checkbox-custom{outline:2px solid var(--primary-500);outline-offset:2px}.form-checkbox:disabled+.form-checkbox-custom{background:var(--neutral-100);border-color:var(--neutral-300)}.form-checkbox-text{font-size:.875rem;color:var(--text-primary);-webkit-user-select:none;user-select:none}.form-radio-group{display:flex;flex-direction:column;gap:.625rem}.form-radio-label{display:flex;align-items:center;gap:.625rem;cursor:pointer;position:relative}.form-radio{position:absolute;opacity:0;width:0;height:0}.form-radio-custom{width:18px;height:18px;border:2px solid var(--border-primary);border-radius:50%;background:var(--bg-primary);display:flex;align-items:center;justify-content:center;transition:color var(--duration-fast) var(--ease-out),background-color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out),opacity var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out);flex-shrink:0}.form-radio-custom:after{content:"";width:8px;height:8px;border-radius:50%;background:#fff;transform:scale(0);transition:transform var(--duration-fast) var(--ease-out)}.form-radio:checked+.form-radio-custom{background:var(--primary-500);border-color:var(--primary-500)}.form-radio:checked+.form-radio-custom:after{transform:scale(1)}.form-radio:focus-visible+.form-radio-custom{outline:2px solid var(--primary-500);outline-offset:2px}.form-radio:disabled+.form-radio-custom{background:var(--neutral-100);border-color:var(--neutral-300)}.form-radio-text{font-size:.875rem;color:var(--text-primary);-webkit-user-select:none;user-select:none}.form-radio-group.inline{flex-direction:row;flex-wrap:wrap;gap:1.5rem}.form-error-summary{background:var(--danger-50, #fef2f2);border:1px solid var(--danger-200, #fecaca);border-left:4px solid var(--danger-500, #ef4444);border-radius:var(--radius-md, 8px);padding:.875rem 1rem;margin-bottom:1.25rem}.form-error-summary-header{display:flex;align-items:center;gap:.5rem;font-size:.9375rem;font-weight:600;color:var(--danger-700, #b91c1c);margin-bottom:.5rem}.form-error-summary-header svg{flex-shrink:0}.form-error-summary-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.25rem}.form-error-summary-link{background:none;border:none;padding:.25rem 0;font-size:.8125rem;color:var(--danger-600, #dc2626);cursor:pointer;text-align:left;line-height:1.4;text-decoration:underline;text-decoration-color:transparent;transition:text-decoration-color .15s ease}.form-error-summary-link:hover{text-decoration-color:var(--danger-600, #dc2626)}.form-error-summary-link strong{font-weight:600}@media (max-width: 768px){.form-input,.form-textarea{padding:.75rem 1rem;font-size:1rem;min-height:44px}.form-textarea{min-height:100px}}.billing-schedule-preview{margin-top:16px;border:1px solid var(--border-primary);border-radius:var(--radius-lg);background:var(--bg-primary);overflow:hidden}.billing-schedule-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border-primary);background:var(--bg-secondary)}.billing-schedule-header h4{display:flex;align-items:center;gap:8px;margin:0;font-size:.875rem;font-weight:600;color:var(--text-primary)}.billing-frequency-badge{font-size:.75rem;font-weight:500;padding:2px 10px;border-radius:var(--radius-full);background:var(--primary-50);color:var(--primary-700)}.billing-schedule-summary{display:flex;gap:24px;padding:12px 16px;border-bottom:1px solid var(--border-primary)}.billing-summary-item{display:flex;flex-direction:column;gap:2px}.billing-summary-label{font-size:.7rem;font-weight:500;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.03em}.billing-summary-value{font-size:.875rem;font-weight:600;color:var(--text-primary)}.billing-schedule-table-wrap{overflow-x:auto}.billing-schedule-table{width:100%;border-collapse:collapse;font-size:.8125rem}.billing-schedule-table th{padding:8px 12px;text-align:left;font-weight:600;font-size:.75rem;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.03em;background:var(--bg-secondary);border-bottom:1px solid var(--border-primary)}.billing-schedule-table td{padding:8px 12px;border-bottom:1px solid var(--border-secondary);color:var(--text-primary)}.billing-schedule-table tr:last-child td{border-bottom:none}.bs-th-num,.bs-td-num{width:40px;text-align:center}.bs-th-amount,.bs-td-amount{text-align:right;font-variant-numeric:tabular-nums}.bs-td-date{color:var(--text-secondary);white-space:nowrap}.bs-dp-badge{display:inline-block;padding:1px 6px;border-radius:var(--radius-sm);background:var(--warning-100);color:var(--warning-700);font-size:.6875rem;font-weight:600}.bs-row-pending td{color:var(--text-secondary)}.bs-not-invoiced{font-size:.75rem;color:var(--text-quaternary)}.billing-schedule-loading{display:flex;align-items:center;gap:8px;padding:12px 16px;font-size:.8125rem;color:var(--text-tertiary)}.billing-schedule-compact .billing-schedule-header{padding:8px 12px}.billing-schedule-compact .billing-schedule-summary{padding:8px 12px;gap:16px}.billing-schedule-compact .billing-schedule-table th,.billing-schedule-compact .billing-schedule-table td{padding:6px 10px}@media (max-width: 640px){.billing-schedule-summary{flex-wrap:wrap;gap:12px}.billing-summary-item{min-width:80px}.billing-schedule-table th:nth-child(3),.billing-schedule-table td:nth-child(3){display:none}}.ar-proposals{max-width:1400px;margin:0 auto}.ar-proposals .ap-stats{grid-template-columns:repeat(3,1fr)}@media (max-width: 768px){.ar-proposals .ap-stats{grid-template-columns:repeat(2,1fr)}}@media (max-width: 480px){.ar-proposals .ap-stats{grid-template-columns:1fr}}.billing-badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-medium);white-space:nowrap}.billing-badge.one-time{background:var(--neutral-100);color:var(--neutral-600)}.billing-badge.recurring{background:var(--primary-50);color:var(--primary-600)}.rejection-banner{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--error-50);border:1px solid var(--error-200);border-radius:var(--radius-lg);font-size:var(--text-sm);color:var(--error-700);margin-bottom:var(--space-4)}.rejection-banner svg{flex-shrink:0;margin-top:2px;color:var(--error-500)}.ar-proposals .modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1100;padding:var(--space-4)}.ar-proposals .modal-content{background:var(--bg-primary);border-radius:var(--radius-xl);width:100%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow-xl);animation:modalSlideUp .25s cubic-bezier(.16,1,.3,1)}.ar-proposals .modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-primary);flex-shrink:0}.ar-proposals .modal-header h2,.ar-proposals .modal-header h3{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-primary);margin:0}.ar-proposals .modal-body{flex:1;overflow-y:auto;padding:var(--space-5) var(--space-6)}.ar-proposals .modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-top:1px solid var(--border-primary);flex-shrink:0;background:var(--bg-secondary)}.ar-proposals .close-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;color:var(--text-tertiary);border-radius:var(--radius-md);cursor:pointer;transition:background .2s ease,color .2s ease}.ar-proposals .close-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}@media (max-width: 640px){.ar-proposals .modal-overlay{padding:0;align-items:flex-end}.ar-proposals .modal-content{border-radius:16px 16px 0 0;max-height:92dvh}}.ar-proposal-form-page{max-width:900px;margin:0 auto}.ar-proposal-form-page .form-page-header{display:flex;flex-direction:column;gap:var(--space-4);margin-bottom:var(--space-6)}.ar-proposal-form-page .back-btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);color:var(--text-secondary);cursor:pointer;transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast),transform var(--transition-fast);width:fit-content;font-size:var(--text-sm)}.ar-proposal-form-page .back-btn:hover{background:var(--bg-secondary);border-color:var(--border-secondary);color:var(--text-primary)}.ar-proposal-form-page .form-page-title{text-align:center}.ar-proposal-form-page .form-page-title h1{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--text-primary);margin:0 0 var(--space-2) 0;letter-spacing:-.02em}.ar-proposal-form-page .form-page-title p{font-size:var(--text-sm);color:var(--text-tertiary);margin:0}.ar-proposal-form-page .form-container{background:var(--bg-primary);border-radius:var(--radius-xl);border:1px solid var(--border-primary);overflow:hidden}.ar-proposal-form-page .form-step{padding:var(--space-6)}.ar-proposal-form-page .form-error-banner{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);background:var(--error-50);border:1px solid var(--error-200);border-radius:var(--radius-lg);color:var(--error-700);margin-bottom:var(--space-6)}.ar-proposal-form-page .form-error-banner svg{flex-shrink:0;color:var(--error-500)}.ar-proposal-form-page .form-error-banner span{flex:1;font-size:var(--text-sm)}.ar-proposal-form-page .form-error-banner button{background:none;border:none;color:var(--error-500);font-size:1.25rem;cursor:pointer;padding:0;line-height:1}.ar-proposal-form-page .form-error-banner button:hover{color:var(--error-700)}.ar-proposal-form-page .form-section{margin-bottom:var(--space-6)}.ar-proposal-form-page .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-5)}.ar-proposal-form-page .section-header h3{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-primary);margin:0;display:flex;align-items:center;gap:var(--space-2)}.ar-proposal-form-page .section-header h3 svg{color:var(--primary-500)}.ar-proposal-form-page .section-optional{color:var(--text-quaternary);font-size:var(--text-sm);font-weight:var(--font-normal)}.ar-proposal-form-page .form-grid{display:flex;flex-direction:column;gap:var(--space-5)}.ar-proposal-form-page .form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4);align-items:stretch}.ar-proposal-form-page .form-row>.form-group{margin-bottom:0}.ar-proposal-form-page .form-group{display:flex;flex-direction:column}.ar-proposal-form-page .form-group.full-width{grid-column:1 / -1}.ar-proposal-form-page .full-width{width:100%}.ar-proposal-form-page .form-label{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-primary);margin-bottom:var(--space-2)}.ar-proposal-form-page .form-label .required{color:var(--error-500, #dc2626);font-weight:700;margin-left:2px}.ar-proposal-form-page .form-input,.ar-proposal-form-page .form-textarea{width:100%;padding:var(--space-3) var(--space-4);font-size:var(--text-sm);border:1px solid var(--border-primary);border-radius:var(--radius-lg);background:var(--bg-secondary);color:var(--text-primary);transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast),transform var(--transition-fast);box-sizing:border-box}.ar-proposal-form-page .form-input:hover,.ar-proposal-form-page .form-textarea:hover{border-color:var(--border-secondary)}.ar-proposal-form-page .form-input:focus,.ar-proposal-form-page .form-textarea:focus{outline:none;border-color:var(--primary-300);background:var(--bg-primary);box-shadow:var(--focus-ring)}.ar-proposal-form-page .form-input::placeholder,.ar-proposal-form-page .form-textarea::placeholder{color:var(--text-placeholder)}.ar-proposal-form-page .form-textarea{resize:vertical;min-height:80px}.ar-proposal-form-page .form-hint{display:block;font-size:var(--text-xs);color:var(--text-tertiary);margin-top:var(--space-1)}.ar-proposal-form-page .form-hint.amount-preview{color:var(--primary-600);font-weight:var(--font-medium)}.ar-proposal-form-page .input-with-prefix{display:flex;align-items:center;border:1px solid var(--border-secondary);border-radius:var(--radius-lg);background:var(--bg-primary);overflow:hidden;transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast),transform var(--transition-fast);box-shadow:var(--shadow-xs)}.ar-proposal-form-page .input-with-prefix:hover{border-color:var(--border-tertiary)}.ar-proposal-form-page .input-with-prefix:focus-within{border-color:var(--primary-400);box-shadow:var(--focus-ring)}.ar-proposal-form-page .input-prefix{padding:12px 12px 12px 14px;font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-tertiary);background:var(--bg-tertiary);border-right:1px solid var(--border-secondary);height:100%;display:flex;align-items:center}.ar-proposal-form-page .input-with-prefix .form-input{border:none;background:transparent;flex:1;padding:10px 14px}.ar-proposal-form-page .input-with-prefix .form-input:focus{box-shadow:none}.ar-proposal-form-page .client-preview{padding:var(--space-4);background:var(--bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--border-primary)}.ar-proposal-form-page .preview-row{display:flex;padding:var(--space-2) 0;border-bottom:1px solid var(--border-primary)}.ar-proposal-form-page .preview-row:last-child{border-bottom:none}.ar-proposal-form-page .preview-label{width:100px;flex-shrink:0;color:var(--text-tertiary);font-size:var(--text-sm);font-weight:var(--font-medium)}.ar-proposal-form-page .preview-value{color:var(--text-primary);font-size:var(--text-sm)}.ar-proposal-form-page .billing-type-options{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4)}.ar-proposal-form-page .billing-option{position:relative;cursor:pointer}.ar-proposal-form-page .billing-option input{position:absolute;opacity:0;pointer-events:none}.ar-proposal-form-page .billing-option-content{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);border:2px solid var(--border-primary);border-radius:var(--radius-lg);transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast),transform var(--transition-fast)}.ar-proposal-form-page .billing-option:hover .billing-option-content{border-color:var(--border-secondary)}.ar-proposal-form-page .billing-option.selected .billing-option-content{border-color:var(--primary-500);background:var(--primary-50)}.ar-proposal-form-page .billing-option-icon{width:44px;height:44px;border-radius:var(--radius-lg);background:var(--bg-tertiary);display:flex;align-items:center;justify-content:center;color:var(--text-quaternary);flex-shrink:0}.ar-proposal-form-page .billing-option.selected .billing-option-icon{background:var(--primary-500);color:var(--text-white)}.ar-proposal-form-page .billing-option-text{display:flex;flex-direction:column;gap:2px}.ar-proposal-form-page .billing-option-title{font-weight:var(--font-semibold);font-size:var(--text-sm);color:var(--text-primary)}.ar-proposal-form-page .billing-option-desc{font-size:var(--text-xs);color:var(--text-tertiary)}.ar-proposal-form-page .billing-option.selected .billing-option-title{color:var(--primary-700)}.ar-proposal-form-page .upload-tip{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-3);background:var(--warning-50);border:1px solid var(--warning-200);border-radius:var(--radius-lg);color:var(--warning-700);font-size:var(--text-sm)}.ar-proposal-form-page .upload-tip svg{flex-shrink:0;margin-top:2px;color:var(--warning-500)}.ar-proposal-form-page .entity-select-container{position:relative;z-index:10}.ar-proposal-form-page .form-actions{display:flex;justify-content:space-between;gap:var(--space-3);padding-top:var(--space-6);border-top:1px solid var(--border-primary);margin-top:var(--space-6)}.ar-proposal-form-page .success-message{text-align:center;padding:var(--space-10) var(--space-5)}.ar-proposal-form-page .success-icon{width:72px;height:72px;background:var(--success-500);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;color:var(--text-white);margin:0 auto var(--space-6)}.ar-proposal-form-page .success-message h2{font-size:var(--text-2xl);font-weight:var(--font-semibold);color:var(--text-primary);margin:0 0 var(--space-2) 0}.ar-proposal-form-page .success-message>p{color:var(--text-tertiary);margin-bottom:var(--space-6);font-size:var(--text-sm)}.ar-proposal-form-page .success-details{background:var(--bg-secondary);border-radius:var(--radius-xl);padding:var(--space-5);margin:var(--space-6) auto;max-width:400px;text-align:left}.ar-proposal-form-page .success-details .detail-row{display:flex;justify-content:space-between;align-items:center;padding:var(--space-2) 0}.ar-proposal-form-page .success-details .detail-row span:first-child{color:var(--text-tertiary);font-size:var(--text-sm)}.ar-proposal-form-page .redirect-text{color:var(--text-quaternary);font-size:var(--text-xs);margin-top:var(--space-4)}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.ar-proposal-form-page .animate-slideUp{animation:slideUp .3s ease-out}.ar-proposal-form-page .animate-scaleIn{animation:scaleIn .4s ease-out}.ar-proposal-form-page .spinning{animation:spin 1s linear infinite}@media (max-width: 1024px){.ar-proposal-form-page{max-width:100%}}@media (max-width: 768px){.ar-proposal-form-page .form-page-header{gap:var(--space-3)}.ar-proposal-form-page .form-page-title{text-align:left}.ar-proposal-form-page .form-page-title h1{font-size:var(--text-xl)}.ar-proposal-form-page .form-container{border-radius:var(--radius-lg)}.ar-proposal-form-page .form-step{padding:var(--space-4)}.ar-proposal-form-page .form-row,.ar-proposal-form-page .billing-type-options{grid-template-columns:1fr}.ar-proposal-form-page .section-header{flex-direction:column;align-items:flex-start;gap:var(--space-2)}.ar-proposal-form-page .form-grid{gap:var(--space-3)}.ar-proposal-form-page .form-container{overflow:visible}.ar-proposal-form-page .form-actions{flex-direction:column-reverse;gap:var(--space-2)}.ar-proposal-form-page .form-actions .btn{width:100%;justify-content:center;padding:var(--space-3) var(--space-4)}.ar-proposal-form-page .success-message{padding:var(--space-6) var(--space-4)}.ar-proposal-form-page .success-icon{width:60px;height:60px}.ar-proposal-form-page .success-message h2{font-size:var(--text-xl)}}@media (max-width: 480px){.ar-proposal-form-page .form-step{padding:var(--space-3)}.ar-proposal-form-page .input-with-prefix .input-prefix{padding:var(--space-2) var(--space-3);font-size:var(--text-sm)}}.ar-proposal-form-page .modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1100;padding:var(--space-4)}.ar-proposal-form-page .modal-content{background:var(--bg-primary);border-radius:var(--radius-xl);width:100%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow-xl);animation:modalSlideUp .25s cubic-bezier(.16,1,.3,1)}.ar-proposal-form-page .modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-primary);flex-shrink:0}.ar-proposal-form-page .modal-header h2,.ar-proposal-form-page .modal-header h3{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-primary);margin:0}.ar-proposal-form-page .modal-content form{display:flex;flex-direction:column;flex:1;overflow:hidden;min-height:0}.ar-proposal-form-page .modal-body{flex:1;overflow-y:auto;padding:var(--space-5) var(--space-6);min-height:0}.ar-proposal-form-page .modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-top:1px solid var(--border-primary);flex-shrink:0;background:var(--bg-secondary)}.ar-proposal-form-page .close-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;color:var(--text-tertiary);border-radius:var(--radius-md);cursor:pointer;transition:background .2s ease,color .2s ease}.ar-proposal-form-page .close-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}@media (max-width: 640px){.ar-proposal-form-page .modal-overlay{padding:0;align-items:flex-end}.ar-proposal-form-page .modal-content{border-radius:16px 16px 0 0;max-height:92dvh}}.ar-finance-verification{padding:var(--space-6);max-width:1400px;margin:0 auto}.ar-finance-verification.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:var(--space-4);color:var(--text-secondary)}.ar-finance-verification .spinner,.ar-finance-verification .spinning{animation:spin 1s linear infinite}.ar-finance-verification .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-6)}.ar-finance-verification .page-header-content{display:flex;align-items:center;gap:var(--space-4)}.ar-finance-verification .header-icon{width:56px;height:56px;border-radius:var(--radius-xl);background:linear-gradient(135deg,var(--primary-500),var(--primary-600));display:flex;align-items:center;justify-content:center;color:#fff}.ar-finance-verification .page-header h1{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--text-primary);margin:0}.ar-finance-verification .page-header p{color:var(--text-secondary);margin:var(--space-1) 0 0}.ar-finance-verification .filter-tabs{display:flex;gap:var(--space-2);margin-bottom:var(--space-5);border-bottom:1px solid var(--border-primary);padding-bottom:var(--space-1)}.ar-finance-verification .filter-tab{padding:var(--space-2) var(--space-4);background:none;border:none;font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-secondary);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .2s ease,background-color .2s ease,border-color .2s ease,box-shadow .2s ease,opacity .2s ease,transform .2s ease}.ar-finance-verification .filter-tab:hover{color:var(--text-primary)}.ar-finance-verification .filter-tab.active{color:var(--primary-600);border-bottom-color:var(--primary-600)}.ar-finance-verification .verification-list{display:flex;flex-direction:column;gap:var(--space-4)}.ar-finance-verification .empty-state{text-align:center;padding:var(--space-12);background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-xl);color:var(--text-secondary)}.ar-finance-verification .empty-state svg{color:var(--success-400);margin-bottom:var(--space-4)}.ar-finance-verification .empty-state h3{color:var(--text-primary);margin:0 0 var(--space-2)}.ar-finance-verification .empty-state p{margin:0}.ar-finance-verification .verification-card{background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-xl);overflow:hidden;transition:color .2s ease,background-color .2s ease,border-color .2s ease,box-shadow .2s ease,opacity .2s ease,transform .2s ease}.ar-finance-verification .verification-card:hover{box-shadow:var(--shadow-md)}.ar-finance-verification .verification-card .card-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-5);cursor:pointer;transition:background .2s ease}.ar-finance-verification .verification-card .card-header:hover{background:var(--bg-secondary)}.ar-finance-verification .card-header-left{display:flex;align-items:center;gap:var(--space-4)}.ar-finance-verification .type-icon{width:48px;height:48px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center}.ar-finance-verification .type-icon.type-recurring{background:var(--primary-50);color:var(--primary-500)}.ar-finance-verification .type-icon.type-one_time{background:var(--info-50);color:var(--info-600)}.ar-finance-verification .card-info .card-title{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-1)}.ar-finance-verification .card-info .proposal-number{font-weight:var(--font-semibold);color:var(--text-primary)}.ar-finance-verification .card-info .proposal-type{font-size:var(--text-sm);color:var(--text-secondary);background:var(--bg-tertiary);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm)}.ar-finance-verification .card-meta{display:flex;gap:var(--space-4);font-size:var(--text-sm);color:var(--text-secondary)}.ar-finance-verification .card-meta span{display:flex;align-items:center;gap:var(--space-1)}.ar-finance-verification .card-header-right{display:flex;align-items:center;gap:var(--space-4)}.ar-finance-verification .card-header-right .amount{font-size:var(--text-lg);font-weight:var(--font-bold);color:var(--text-primary)}.ar-finance-verification .card-details{border-top:1px solid var(--border-primary);padding:var(--space-5);background:var(--bg-secondary)}.ar-finance-verification .details-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-5);margin-bottom:var(--space-5)}.ar-finance-verification .detail-section{background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);padding:var(--space-4)}.ar-finance-verification .detail-section h4{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-primary);margin:0 0 var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid var(--border-primary)}.ar-finance-verification .detail-row{display:flex;gap:var(--space-2);margin-bottom:var(--space-2);font-size:var(--text-sm)}.ar-finance-verification .detail-row:last-child{margin-bottom:0}.ar-finance-verification .detail-row .label{color:var(--text-secondary);min-width:100px}.ar-finance-verification .detail-row .value{color:var(--text-primary);font-weight:var(--font-medium)}.ar-finance-verification .detail-row .value.amount-highlight{color:var(--primary-600);font-size:var(--text-base);font-weight:var(--font-bold)}.ar-finance-verification .documents-section{margin-bottom:var(--space-5)}.ar-finance-verification .rejection-notice{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-4);background:var(--warning-50);border:1px solid var(--warning-200);border-radius:var(--radius-lg);margin-bottom:var(--space-5)}.ar-finance-verification .rejection-notice svg{color:var(--warning-500);flex-shrink:0;margin-top:2px}.ar-finance-verification .rejection-notice strong{display:block;color:var(--warning-700);margin-bottom:var(--space-1)}.ar-finance-verification .rejection-notice p{color:var(--warning-600);margin:0;font-size:var(--text-sm)}.ar-finance-verification .card-actions{display:flex;justify-content:flex-end;gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--border-primary)}.ar-finance-verification .modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1100;padding:var(--space-4)}.ar-finance-verification .modal-content{background:var(--bg-primary);border-radius:var(--radius-xl);width:100%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow-xl);animation:modalSlideUp .25s cubic-bezier(.16,1,.3,1)}.ar-finance-verification .modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-top:1px solid var(--border-primary);flex-shrink:0;background:var(--bg-secondary)}.ar-finance-verification .close-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;color:var(--text-tertiary);border-radius:var(--radius-md);cursor:pointer;transition:background .2s ease,color .2s ease}.ar-finance-verification .close-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.ar-finance-verification .modal-header{text-align:center;flex-direction:column;align-items:center}.ar-finance-verification .modal-header h2{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-primary);margin:0}.ar-finance-verification .modal-header p{color:var(--text-secondary);font-size:var(--text-sm);margin:var(--space-2) 0 0}.ar-finance-verification .modal-icon{width:56px;height:56px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;margin:0 auto var(--space-4)}.ar-finance-verification .modal-icon.approve{background:var(--success-50);color:var(--success-600)}.ar-finance-verification .modal-icon.reject{background:var(--error-50);color:var(--error-600)}.ar-finance-verification .modal-body p{margin:0 0 var(--space-4);color:var(--text-secondary);font-size:var(--text-sm)}.ar-finance-verification .modal-error{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--error-50);border:1px solid var(--error-200);border-radius:var(--radius-lg);font-size:var(--text-sm);color:var(--error-700);margin-bottom:var(--space-4)}.ar-finance-verification .modal-error svg{flex-shrink:0;margin-top:2px;color:var(--error-500)}.ar-finance-verification .rejection-tips{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-3);background:var(--warning-50);border-radius:var(--radius-lg);font-size:var(--text-sm);color:var(--warning-700);margin-top:var(--space-4)}.ar-finance-verification .rejection-tips svg{flex-shrink:0;margin-top:2px;color:var(--warning-500)}.ar-finance-verification .form-group{margin-bottom:0}.ar-finance-verification .form-label{display:block;font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-primary);margin-bottom:var(--space-2)}.ar-finance-verification .form-textarea{width:100%;padding:var(--space-3);border:1px solid var(--border-primary);border-radius:var(--radius-lg);font-size:var(--text-sm);resize:vertical;font-family:inherit;background:var(--bg-secondary);color:var(--text-primary)}.ar-finance-verification .form-textarea:focus{outline:none;border-color:var(--primary-500);box-shadow:0 0 0 3px var(--primary-100)}.ar-finance-verification .btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border:none;border-radius:var(--radius-lg);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:color .2s ease,background-color .2s ease,border-color .2s ease,box-shadow .2s ease,opacity .2s ease,transform .2s ease}.ar-finance-verification .btn:disabled{opacity:.6;cursor:not-allowed}.ar-finance-verification .btn-secondary{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-primary)}.ar-finance-verification .btn-secondary:hover:not(:disabled){background:var(--bg-tertiary)}.ar-finance-verification .btn-success{background:var(--success-600);color:#fff}.ar-finance-verification .btn-success:hover:not(:disabled){background:var(--success-700)}.ar-finance-verification .btn-danger{background:var(--error-600);color:#fff}.ar-finance-verification .btn-danger:hover:not(:disabled){background:var(--error-700)}@media (max-width: 1024px){.ar-finance-verification .details-grid{grid-template-columns:1fr}}@media (max-width: 768px){.ar-finance-verification{padding:var(--space-4)}.ar-finance-verification .page-header{flex-direction:column;align-items:flex-start;gap:var(--space-4)}.ar-finance-verification .filter-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch}.ar-finance-verification .verification-card .card-header{flex-direction:column;align-items:flex-start;gap:var(--space-3)}.ar-finance-verification .card-header-right{width:100%;justify-content:space-between}.ar-finance-verification .card-meta{flex-wrap:wrap}.ar-finance-verification .card-actions{flex-direction:column}.ar-finance-verification .card-actions .btn{width:100%;justify-content:center}}@media (max-width: 640px){.ar-finance-verification .modal-overlay{padding:0;align-items:flex-end}.ar-finance-verification .modal-content{border-radius:16px 16px 0 0;max-height:92dvh}}.create-invoice-banner{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--success-50);border:1px solid var(--success-200);border-radius:var(--radius-lg);margin-bottom:var(--space-4);color:var(--success-800);font-size:var(--text-sm)}.create-invoice-banner svg:first-child{color:var(--success-600);flex-shrink:0}.create-invoice-banner span{flex:1}.ready-to-bill{max-width:1400px;margin:0 auto}.ready-to-bill .modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1100;padding:var(--space-4)}.ready-to-bill .modal-content{background:var(--bg-primary);border-radius:var(--radius-xl);width:100%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow-xl);animation:modalSlideUp .25s cubic-bezier(.16,1,.3,1)}.ready-to-bill .modal-header{padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--border-primary);display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.ready-to-bill .modal-header h2{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-primary);margin:0}.ready-to-bill .modal-body{flex:1;overflow-y:auto;padding:var(--space-5) var(--space-6)}.ready-to-bill .modal-footer{padding:var(--space-4) var(--space-6);border-top:1px solid var(--border-primary);background:var(--bg-secondary);display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3);flex-shrink:0}.ready-to-bill .close-btn{width:32px;height:32px;border-radius:var(--radius-md);border:1px solid var(--border-primary);background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s ease,color .2s ease}.ready-to-bill .close-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.rtb-toolbar{display:flex;gap:var(--space-3);margin-bottom:var(--space-5);align-items:center}.rtb-search{flex:1;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);transition:border-color .2s ease,box-shadow .2s ease}.rtb-search:focus-within{border-color:var(--primary-500);box-shadow:0 0 0 3px var(--primary-100)}.rtb-search svg{color:var(--text-tertiary);flex-shrink:0}.rtb-search input{flex:1;border:none;background:none;font-size:var(--text-sm);color:var(--text-primary);outline:none}.rtb-search input::placeholder{color:var(--text-tertiary)}.rtb-sort{padding:var(--space-3) var(--space-4);background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);font-size:var(--text-sm);color:var(--text-primary);cursor:pointer;min-width:160px}.rtb-columns{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-6);align-items:start;margin-bottom:var(--space-6)}@media (max-width: 768px){.rtb-columns{grid-template-columns:1fr}}.rtb-column{display:flex;flex-direction:column;gap:var(--space-3)}.rtb-column-header{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) 0;font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-secondary);border-bottom:2px solid var(--border-primary);margin-bottom:var(--space-1)}.rtb-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--primary-700);background:var(--primary-100);border-radius:var(--radius-full)}.rtb-card{background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-xl);padding:var(--space-4) var(--space-5);transition:border-color .2s ease,box-shadow .2s ease;cursor:default}.rtb-card:hover{border-color:var(--primary-200);box-shadow:0 2px 8px #0000000a}.rtb-card-success{border-color:var(--success-200);background:var(--success-50)}.rtb-card-success:hover{border-color:var(--success-300)}.rtb-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-2)}.rtb-card-id{font-family:SF Mono,Fira Code,Cascadia Code,monospace;font-size:var(--text-xs);color:var(--text-tertiary);font-weight:var(--font-medium)}.rtb-card-client{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--text-primary);margin-bottom:2px}.rtb-card-service{font-size:var(--text-sm);color:var(--text-secondary);margin-bottom:var(--space-3)}.rtb-card-meta{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-3)}.rtb-frequency-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--primary-700);background:var(--primary-50);border-radius:var(--radius-full)}.rtb-card-amount{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-primary)}.rtb-card-footer{display:flex;justify-content:flex-end;gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--border-secondary)}.rtb-success-message{display:flex;align-items:center;gap:var(--space-2);color:var(--success-600);font-size:var(--text-sm);font-weight:var(--font-medium);margin:var(--space-2) 0 var(--space-3)}.rtb-empty{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-10) var(--space-6);text-align:center;color:var(--text-tertiary)}.rtb-empty svg{opacity:.3}.rtb-empty p{font-size:var(--text-sm);margin:0}.rtb-recent{margin-top:var(--space-2);padding-top:var(--space-5);border-top:1px solid var(--border-primary)}.rtb-recent-header{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-secondary);margin-bottom:var(--space-3)}.rtb-recent-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--bg-primary);border:1px solid var(--border-secondary);border-radius:var(--radius-lg);margin-bottom:var(--space-2);font-size:var(--text-sm)}.rtb-recent-row:hover{border-color:var(--primary-200)}.rtb-recent-id{font-family:SF Mono,Fira Code,Cascadia Code,monospace;font-size:var(--text-xs);color:var(--text-tertiary);font-weight:var(--font-medium);white-space:nowrap}.rtb-recent-client{font-weight:var(--font-medium);color:var(--text-primary);white-space:nowrap}.rtb-recent-service{color:var(--text-secondary);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rtb-recent-progress{color:var(--text-tertiary);font-size:var(--text-xs);white-space:nowrap}.setup-contract-modal{max-width:720px}.setup-proposal-info{display:flex;flex-direction:column;gap:4px;padding:var(--space-4);background:var(--bg-secondary);border-radius:var(--radius-lg);margin-bottom:var(--space-5)}.setup-proposal-client{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--text-primary)}.setup-proposal-detail{font-size:var(--text-sm);color:var(--text-secondary)}.setup-period-count{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--primary-50);color:var(--primary-700);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-medium);margin-top:var(--space-2)}.setup-amount-toggle{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);margin-bottom:var(--space-3)}.amount-option{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--bg-primary);border:1.5px solid var(--border-primary);border-radius:var(--radius-lg);cursor:pointer;transition:border-color .2s ease,background .2s ease,box-shadow .2s ease}.amount-option:hover{border-color:var(--primary-200);background:var(--bg-secondary)}.amount-option.active{border-color:var(--primary-400);background:var(--primary-50);box-shadow:0 0 0 3px rgba(var(--primary-500-rgb, 99, 102, 241),.1)}.amount-option input[type=radio]{position:absolute;opacity:0;width:0;height:0}.amount-option-dot{width:18px;height:18px;min-width:18px;border-radius:var(--radius-full);border:2px solid var(--border-primary);margin-top:1px;position:relative;transition:border-color .2s ease}.amount-option.active .amount-option-dot{border-color:var(--primary-500)}.amount-option.active .amount-option-dot:after{content:"";position:absolute;top:3px;left:3px;width:8px;height:8px;border-radius:var(--radius-full);background:var(--primary-500)}.amount-option-content{display:flex;flex-direction:column;gap:1px;min-width:0}.amount-option-title{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-primary)}.amount-option-desc{font-size:var(--text-xs);color:var(--text-tertiary);line-height:1.4}.auto-split-card{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-4) var(--space-5);border-radius:var(--radius-xl);background:linear-gradient(135deg,#6366f114,#3b82f61f,#6366f10f);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(99,102,241,.18);box-shadow:0 4px 16px #6366f114,inset 0 1px #fff6;text-align:center}.auto-split-label{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--primary-600);text-transform:uppercase;letter-spacing:.04em}.auto-split-label svg{opacity:.7}.auto-split-amount{font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--primary-700);letter-spacing:-.01em}.auto-split-calc{font-size:var(--text-xs);color:var(--primary-500);font-weight:var(--font-medium)}.setup-preview-summary{padding:var(--space-3) var(--space-4);background:var(--bg-secondary);border-radius:var(--radius-lg);font-size:var(--text-sm);color:var(--text-secondary);margin-bottom:var(--space-4)}.setup-preview-table{border:1px solid var(--border-primary);border-radius:var(--radius-lg);overflow:hidden;margin-bottom:var(--space-4)}.preview-table-header{display:grid;grid-template-columns:40px 1fr 1fr 1fr;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--bg-tertiary);font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.preview-table-row{display:grid;grid-template-columns:40px 1fr 1fr 1fr;gap:var(--space-3);padding:var(--space-3) var(--space-4);font-size:var(--text-sm);color:var(--text-primary);border-top:1px solid var(--border-secondary);position:relative}.preview-table-row.first-period{background:var(--primary-50);font-weight:var(--font-medium)}.first-badge{position:absolute;right:var(--space-3);top:50%;transform:translateY(-50%);font-size:var(--text-xs);color:var(--primary-600);font-weight:var(--font-medium);white-space:nowrap}.setup-preview-note{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--warning-50);border:1px solid var(--warning-200);border-radius:var(--radius-lg);font-size:var(--text-sm);color:var(--warning-800)}.setup-preview-note svg{flex-shrink:0;margin-top:2px;color:var(--warning-500)}.setup-success-content{display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--space-6) var(--space-4);gap:var(--space-3)}.setup-success-icon{color:var(--success-500);margin-bottom:var(--space-2)}.setup-success-content h3{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-primary);margin:0}.setup-success-content p{font-size:var(--text-sm);color:var(--text-secondary);margin:0;max-width:380px}.ready-to-bill .form-section,.setup-contract-modal .form-section,.generate-invoice-modal .form-section{margin-bottom:var(--space-5)}.ready-to-bill .form-section h4,.setup-contract-modal .form-section h4,.generate-invoice-modal .form-section h4{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-secondary);margin:0 0 var(--space-3) 0}.ready-to-bill .form-row,.setup-contract-modal .form-row,.generate-invoice-modal .form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4);align-items:stretch}.ready-to-bill .form-group,.setup-contract-modal .form-group,.generate-invoice-modal .form-group{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:0}.setup-contract-modal .form-group label,.generate-invoice-modal .form-group label{font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--text-tertiary)}.setup-contract-modal .input-with-prefix,.generate-invoice-modal .input-with-prefix{display:flex;align-items:center;border:1px solid var(--border-primary);border-radius:var(--radius-lg);background:var(--bg-primary);overflow:hidden;transition:border-color .2s ease,box-shadow .2s ease}.setup-contract-modal .input-with-prefix:focus-within,.generate-invoice-modal .input-with-prefix:focus-within{border-color:var(--primary-400);box-shadow:0 0 0 3px var(--primary-100)}.setup-contract-modal .input-prefix,.generate-invoice-modal .input-prefix{padding:10px 12px;font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-tertiary);background:var(--bg-tertiary);border-right:1px solid var(--border-secondary);display:flex;align-items:center}.setup-contract-modal .input-with-prefix .form-input,.generate-invoice-modal .input-with-prefix .form-input{border:none;background:transparent;flex:1;padding:10px 14px;box-shadow:none}.setup-contract-modal .input-with-prefix .form-input:focus,.generate-invoice-modal .input-with-prefix .form-input:focus{box-shadow:none}.generate-invoice-modal{max-width:680px}.gen-modal-body{padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-5);max-height:70vh;overflow-y:auto}.gen-proposal-card{background:var(--bg-secondary);border-radius:var(--radius-xl);padding:var(--space-4) var(--space-5);display:flex;flex-direction:column;gap:4px}.gen-proposal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:2px}.gen-proposal-id{font-family:SF Mono,Fira Code,Cascadia Code,monospace;font-size:var(--text-xs);color:var(--text-tertiary);font-weight:var(--font-medium)}.gen-proposal-client{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--text-primary)}.gen-proposal-service{font-size:var(--text-sm);color:var(--text-secondary)}.gen-proposal-npwp{font-size:var(--text-xs);color:var(--text-tertiary);font-weight:var(--font-medium);margin-top:2px;font-family:SF Mono,Fira Code,Cascadia Code,monospace}.gen-amount-breakdown{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--border-secondary);display:flex;flex-direction:column;gap:2px}.gen-breakdown-row{display:flex;justify-content:space-between;align-items:center;font-size:var(--text-sm);color:var(--text-secondary);padding:var(--space-1) 0}.gen-breakdown-row.gen-breakdown-subtotal{border-top:1px dashed var(--border-secondary);padding-top:var(--space-2);margin-top:var(--space-1);font-weight:var(--font-medium);color:var(--text-primary)}.gen-breakdown-row.gen-breakdown-total{border-top:2px solid var(--border-primary);padding-top:var(--space-2);margin-top:var(--space-1);font-weight:var(--font-bold);font-size:var(--text-base);color:var(--text-primary)}.gen-breakdown-row.gen-breakdown-muted{color:var(--text-quaternary);font-style:italic}.gen-text-error{color:var(--error-600)}.gen-form{display:flex;flex-direction:column;gap:var(--space-5)}.gen-section{display:flex;flex-direction:column;gap:var(--space-3)}.gen-section-title{font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;margin:0}.gen-section-header{display:flex;align-items:center;justify-content:space-between}.gen-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.gen-empty-hint{font-size:var(--text-sm);color:var(--text-quaternary);font-style:italic;padding:var(--space-3) 0}.gen-advanced-toggle{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) 0;border:none;background:none;font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-secondary);cursor:pointer;width:100%;transition:color .2s ease}.gen-advanced-toggle:hover{color:var(--primary-600)}.gen-advanced{display:flex;flex-direction:column;gap:var(--space-5);border-top:1px solid var(--border-secondary);padding-top:var(--space-4)}.gen-confirmation{display:flex;flex-direction:column;gap:var(--space-5)}.gen-confirm-warning{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-4);background:var(--warning-50);border:1px solid var(--warning-200);border-radius:var(--radius-lg)}.gen-confirm-warning svg{flex-shrink:0;color:var(--warning-500);margin-top:2px}.gen-confirm-warning strong{display:block;font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--warning-800);margin-bottom:2px}.gen-confirm-warning p{font-size:var(--text-sm);color:var(--warning-700);margin:0;line-height:1.5}.gen-confirm-section{display:flex;flex-direction:column;gap:var(--space-3);padding-bottom:var(--space-4);border-bottom:1px solid var(--border-secondary)}.gen-confirm-section:last-child{border-bottom:none;padding-bottom:0}.gen-confirm-title{font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;margin:0}.gen-confirm-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.gen-confirm-item{display:flex;flex-direction:column;gap:2px}.gen-confirm-label{font-size:var(--text-xs);color:var(--text-tertiary);font-weight:var(--font-medium)}.gen-confirm-value{font-size:var(--text-sm);color:var(--text-primary);font-weight:var(--font-medium)}.gen-confirm-highlight{color:var(--primary-600);font-weight:var(--font-semibold)}.gen-confirm-breakdown{display:flex;flex-direction:column;gap:2px;background:var(--bg-secondary);border-radius:var(--radius-lg);padding:var(--space-4)}.gen-confirm-brow{display:flex;justify-content:space-between;align-items:center;font-size:var(--text-sm);color:var(--text-secondary);padding:var(--space-1) 0}.gen-confirm-brow.gen-confirm-brow-sub{border-top:1px dashed var(--border-secondary);padding-top:var(--space-2);margin-top:var(--space-1);font-weight:var(--font-medium);color:var(--text-primary)}.gen-confirm-brow.gen-confirm-brow-total{border-top:2px solid var(--border-primary);padding-top:var(--space-2);margin-top:var(--space-1);font-weight:var(--font-bold);font-size:var(--text-base);color:var(--text-primary)}.gen-confirm-brow.gen-confirm-brow-muted{color:var(--text-quaternary);font-style:italic}.gen-dpp-note{font-size:var(--text-xs);color:var(--text-quaternary);font-weight:var(--font-normal)}.gen-confirm-notes{font-size:var(--text-sm);color:var(--text-secondary);line-height:1.6;margin:0}.tax-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-2)}.tax-section-header h4{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-secondary);margin:0}.tax-empty-hint{font-size:var(--text-sm);color:var(--text-quaternary);font-style:italic;padding:var(--space-2) 0}.tax-line-row{padding:var(--space-3) 0;border-bottom:1px solid var(--border-secondary)}.tax-line-row:last-of-type{border-bottom:none}.tax-line-fields{display:flex;flex-direction:column;gap:var(--space-3)}.tax-line-top{display:flex;align-items:flex-end;gap:var(--space-3)}.tax-line-top .tax-code-field{flex:1}.tax-line-remove{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:1px solid var(--border-primary);border-radius:var(--radius-md);background:var(--bg-primary);color:var(--text-tertiary);cursor:pointer;flex-shrink:0;transition:color .2s ease,border-color .2s ease,background .2s ease}.tax-line-remove:hover{color:var(--error-600);border-color:var(--error-200);background:var(--error-50)}.tax-line-bottom{display:grid;grid-template-columns:1fr 80px 120px 1fr auto;gap:var(--space-3);align-items:end}.tax-amount-display{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-primary);padding:var(--space-3) var(--space-4);background:var(--bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--border-secondary);min-width:100px;text-align:right}.quick-add-link{display:inline-block;font-size:var(--text-xs);color:var(--primary-600);background:none;border:none;cursor:pointer;padding:var(--space-2) 0;font-weight:var(--font-medium);transition:color .2s ease}.quick-add-link:hover{color:var(--primary-700);text-decoration:underline}.advanced-toggle{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) 0;border:none;background:none;font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-secondary);cursor:pointer;width:100%;transition:color .2s ease}.advanced-toggle:hover{color:var(--primary-600)}.advanced-fields{border-top:1px solid var(--border-secondary);padding-top:var(--space-3)}.setup-dp-toggle-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--bg-secondary);border-radius:var(--radius-lg);cursor:pointer;transition:background .2s ease}.setup-dp-toggle-row:hover{background:var(--bg-tertiary)}.setup-dp-toggle-row input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary-500);cursor:pointer}.setup-dp-toggle-label{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-primary)}.setup-dp-fields{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.setup-dp-remaining-hint{font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--primary-600);padding:var(--space-2) var(--space-3);background:var(--primary-50);border-radius:var(--radius-md)}.setup-schedule-container{display:flex;flex-direction:column;gap:var(--space-3)}.setup-schedule-actions{display:flex;justify-content:flex-end}.setup-schedule-table{border:1px solid var(--border-primary);border-radius:var(--radius-lg);overflow:hidden}.setup-schedule-header{display:grid;grid-template-columns:40px 1fr 1fr 1fr;gap:var(--space-3);padding:var(--space-2) var(--space-4);background:var(--bg-tertiary);font-size:11px;font-weight:var(--font-semibold);color:var(--text-quaternary);text-transform:uppercase;letter-spacing:.05em}.setup-schedule-row{display:grid;grid-template-columns:40px 1fr 1fr 1fr;gap:var(--space-3);padding:var(--space-3) var(--space-4);font-size:var(--text-sm);color:var(--text-primary);border-top:1px solid var(--border-secondary);align-items:center}.setup-schedule-dp-row{background:var(--warning-50);font-weight:var(--font-medium)}.setup-schedule-total-row{background:var(--bg-tertiary);font-weight:var(--font-bold);border-top:2px solid var(--border-primary)}.setup-schedule-warning{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--error-50);border:1px solid var(--error-200);border-radius:var(--radius-lg);font-size:var(--text-sm);color:var(--error-700);font-weight:var(--font-medium)}.setup-schedule-warning svg{flex-shrink:0;color:var(--error-500)}.schedule-amount-input{width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--border-primary);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--text-primary);background:var(--bg-primary);text-align:right;transition:border-color .2s ease,box-shadow .2s ease}.schedule-amount-input:focus{outline:none;border-color:var(--primary-400);box-shadow:0 0 0 3px var(--primary-100)}.dp-schedule-badge{display:inline-flex;align-items:center;padding:1px 6px;font-size:10px;font-weight:var(--font-bold);color:var(--warning-700);background:var(--warning-100);border-radius:var(--radius-full);letter-spacing:.03em}.setup-manual-validation{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--warning-50);border:1px solid var(--warning-200);border-radius:var(--radius-lg);font-size:var(--text-sm);color:var(--warning-700);font-weight:var(--font-medium)}.setup-manual-validation svg{flex-shrink:0;color:var(--warning-500)}@media (max-width: 640px){.rtb-toolbar{flex-direction:column}.rtb-sort{width:100%;min-width:unset}.rtb-recent-row{flex-wrap:wrap}.rtb-recent-service{display:none}.ready-to-bill .modal-overlay{padding:0;align-items:flex-end}.setup-contract-modal,.generate-invoice-modal{max-width:100%;margin:0;border-radius:16px 16px 0 0;max-height:90vh}.gen-modal-body{padding:var(--space-4);max-height:60vh}.gen-field-grid,.gen-confirm-grid{grid-template-columns:1fr}.tax-line-bottom{grid-template-columns:1fr 1fr;gap:var(--space-2)}.preview-table-header,.preview-table-row{grid-template-columns:30px 1fr 1fr}.preview-table-header span:last-child,.preview-table-row span:last-child:not(.first-badge){display:none}.first-badge{display:none}.setup-amount-toggle{grid-template-columns:1fr;gap:var(--space-2)}.setup-dp-fields{grid-template-columns:1fr}.setup-schedule-header,.setup-schedule-row{grid-template-columns:30px 1fr 1fr}.setup-schedule-header span:nth-child(3),.setup-schedule-row span:nth-child(3),.setup-schedule-row div:nth-child(3){display:none}.setup-contract-modal .form-row,.generate-invoice-modal .form-row{grid-template-columns:1fr}}.gen-stages-toggle{display:flex;align-items:center;gap:6px;cursor:pointer;font-size:var(--text-sm);color:var(--text-secondary);-webkit-user-select:none;user-select:none}.gen-stages-toggle input[type=checkbox]{width:16px;height:16px;accent-color:var(--primary-500);cursor:pointer}.gen-stages{margin-top:var(--space-3);border:1px solid var(--border-primary);border-radius:var(--radius-md);overflow:hidden}.gen-stages-header{display:grid;grid-template-columns:40px 1fr 1fr 1fr 32px;gap:var(--space-2);padding:8px 12px;background:var(--bg-tertiary);font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border-primary)}.gen-stage-row{display:grid;grid-template-columns:40px 1fr 1fr 1fr 32px;gap:var(--space-2);padding:10px 12px;align-items:center;border-bottom:1px solid var(--border-primary)}.gen-stage-row:last-child{border-bottom:none}.gen-stage-row-dp{background:var(--primary-50)}.gen-stage-num{display:flex;align-items:center;justify-content:center;font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-secondary)}.gen-stage-remove{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:none;color:var(--error-500);cursor:pointer;border-radius:var(--radius-sm);transition:background .15s}.gen-stage-remove:hover{background:var(--error-50)}.gen-stages-add{margin:10px 12px;color:var(--primary-600)}.gen-stages-total{display:flex;align-items:center;gap:8px;padding:10px 12px;font-size:var(--text-sm);background:var(--bg-secondary);border-top:1px solid var(--border-primary)}.gen-stages-total-ok{color:var(--success-700)}.gen-stages-total-err{color:var(--error-600)}.gen-stages-total-of{color:var(--text-tertiary)}.gen-stages-diff{margin-left:auto;font-weight:var(--font-semibold)}.gen-stages-ok-icon{color:var(--success-500);margin-left:auto}.gen-stages-confirm{border:1px solid var(--border-primary);border-radius:var(--radius-md);overflow:hidden;margin-top:var(--space-2)}.gen-stages-confirm-header{display:grid;grid-template-columns:40px 1fr 1fr 1fr;gap:var(--space-2);padding:8px 12px;background:var(--bg-tertiary);font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border-primary)}.gen-stages-confirm-row{display:grid;grid-template-columns:40px 1fr 1fr 1fr;gap:var(--space-2);padding:10px 12px;align-items:center;font-size:var(--text-sm);border-bottom:1px solid var(--border-primary)}.gen-stages-confirm-row.gen-stage-row-dp{background:var(--primary-50)}.gen-stages-confirm-dpp{font-weight:var(--font-medium)}.gen-stages-confirm-total{font-size:var(--text-xs);color:var(--text-tertiary)}.gen-stages-confirm-footer{display:flex;justify-content:space-between;padding:10px 12px;font-size:var(--text-sm);font-weight:var(--font-semibold);background:var(--bg-tertiary);color:var(--text-primary)}@media (max-width: 640px){.gen-stages-header,.gen-stage-row{grid-template-columns:36px 1fr 1fr 32px}.gen-stages-header span:nth-child(4),.gen-stage-row>*:nth-child(4){display:none}.gen-stages-confirm-header,.gen-stages-confirm-row{grid-template-columns:36px 1fr 1fr}.gen-stages-confirm-header span:last-child,.gen-stages-confirm-row span:last-child{display:none}}.ar-database{padding:var(--space-6);max-width:1600px;margin:0 auto}.ar-database .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-6)}.ar-database .page-header-content{display:flex;align-items:center;gap:var(--space-4)}.ar-database .header-icon{width:56px;height:56px;border-radius:var(--radius-xl);background:linear-gradient(135deg,var(--success-500),var(--success-600));display:flex;align-items:center;justify-content:center;color:#fff}.ar-database .page-header h1{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--text-primary);margin:0}.ar-database .page-header p{color:var(--text-secondary);margin:var(--space-1) 0 0}.header-actions{display:flex;gap:var(--space-3)}.ar-db-tabs{display:flex;gap:var(--space-1);background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);padding:4px;margin-bottom:var(--space-4);width:fit-content}.ar-db-tab{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-secondary);background:transparent;border:none;border-radius:var(--radius-md);cursor:pointer;transition:color .2s ease,background-color .2s ease}.ar-db-tab:hover{color:var(--text-primary);background:var(--bg-secondary)}.ar-db-tab.active{background:var(--primary-500);color:#fff}.ar-db-tab .tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;font-size:var(--text-xs);font-weight:var(--font-semibold);border-radius:var(--radius-full);background:#0000001a}.ar-db-tab.active .tab-count{background:#fff3}.filter-group-inline{display:flex;align-items:center;gap:var(--space-2)}.filter-group-inline .inline-select{padding:var(--space-3) var(--space-4);background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);font-size:var(--text-sm);color:var(--text-primary);cursor:pointer}.filter-group-inline .inline-select:focus{outline:none;border-color:var(--primary-500);box-shadow:0 0 0 3px var(--primary-100)}.filters-section{display:flex;gap:var(--space-3);margin-bottom:var(--space-4)}.search-bar{flex:1;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);transition:color .2s ease,background-color .2s ease,border-color .2s ease,box-shadow .2s ease,opacity .2s ease,transform .2s ease}.search-bar:focus-within{border-color:var(--primary-500);box-shadow:0 0 0 3px var(--primary-100)}.search-bar svg{color:var(--text-tertiary);flex-shrink:0}.search-bar input{flex:1;border:none;background:none;font-size:var(--text-sm);color:var(--text-primary);outline:none}.search-bar input::placeholder{color:var(--text-tertiary)}.clear-search{padding:var(--space-1);background:none;border:none;color:var(--text-tertiary);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm)}.clear-search:hover{background:var(--bg-tertiary);color:var(--text-primary)}.ar-database .btn-filter{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-secondary);cursor:pointer;transition:color .2s ease,background-color .2s ease,border-color .2s ease,box-shadow .2s ease,opacity .2s ease,transform .2s ease}.ar-database .btn-filter:hover{border-color:var(--primary-300);color:var(--text-primary)}.ar-database .btn-filter.active{border-color:var(--primary-500);background:var(--primary-50);color:var(--primary-700)}.filter-badge{background:var(--primary-500);color:#fff;font-size:var(--text-xs);padding:2px 6px;border-radius:var(--radius-full)}.advanced-filters{display:flex;flex-wrap:wrap;gap:var(--space-4);padding:var(--space-4);background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);margin-bottom:var(--space-4)}.filter-group{display:flex;flex-direction:column;gap:var(--space-2);min-width:150px}.filter-group label{font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--text-secondary)}.filter-group select,.filter-group input{padding:var(--space-2) var(--space-3);border:1px solid var(--border-primary);border-radius:var(--radius-md);font-size:var(--text-sm);background:var(--bg-primary);color:var(--text-primary)}.filter-group select:focus,.filter-group input:focus{outline:none;border-color:var(--primary-500)}.clear-filters{align-self:flex-end;margin-left:auto}.stats-month-label{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-secondary);margin-bottom:var(--space-3)}.stats-row{display:flex;gap:var(--space-4);margin-bottom:var(--space-4);padding:var(--space-4);background:var(--bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--border-primary)}.stat-item{display:flex;flex-direction:column;gap:var(--space-1);padding-right:var(--space-6);border-right:1px solid var(--border-primary)}.stat-item:last-child{border-right:none}.stat-item .stat-value{font-size:var(--text-lg);font-weight:var(--font-bold);color:var(--text-primary)}.stat-item .stat-value.overdue{color:var(--error-600)}.stat-item .stat-label{font-size:var(--text-xs);color:var(--text-tertiary)}.ar-database .table-container{background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-xl);overflow-x:auto}.ar-database .loading-state,.ar-database .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-16);color:var(--text-secondary);gap:var(--space-4)}.ar-database .loading-state .spinner{animation:spin 1s linear infinite}.ar-database .spinning{animation:spin 1s linear infinite}.ar-database .empty-state svg{color:var(--neutral-300)}.ar-database .empty-state h3{color:var(--text-primary);margin:0}.ar-database .empty-state p{margin:0}.ar-database .data-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.ar-database .data-table th,.ar-database .data-table td{padding:var(--space-3) var(--space-4);text-align:left;border-bottom:1px solid var(--border-primary)}.ar-database .data-table th{white-space:nowrap}.ar-database .data-table th{background:var(--bg-secondary);font-weight:var(--font-semibold);color:var(--text-secondary);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;position:sticky;top:0;z-index:1}.ar-database .data-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.ar-database .data-table th.sortable:hover{background:var(--bg-tertiary)}.ar-database .data-table th.sortable svg{display:inline-block;vertical-align:middle;margin-left:var(--space-1)}.ar-database .data-table tbody tr:hover{background:var(--bg-secondary)}.ar-database .data-table tbody tr:last-child td{border-bottom:none}.th-no{width:50px}.th-amount{text-align:right}.th-actions{width:60px;text-align:center}.td-no{text-align:center;color:var(--text-tertiary)}.td-amount{text-align:right;font-weight:var(--font-semibold)}.td-actions{text-align:center}.invoice-number{font-family:SF Mono,Monaco,monospace;font-weight:var(--font-semibold);color:var(--success-600)}.billing-badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);border-radius:var(--radius-md);font-size:var(--text-xs);font-weight:var(--font-medium)}.billing-badge.billing-one_time{background:var(--bg-tertiary);color:var(--text-secondary)}.billing-badge.billing-recurring{background:var(--accent-50);color:var(--accent-700)}.billing-type-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;font-size:var(--text-xs);font-weight:var(--font-medium);border-radius:var(--radius-full);text-transform:capitalize}.billing-type-badge.recurring{background:var(--accent-50);color:var(--accent-700)}.billing-type-badge.one-time{background:var(--bg-tertiary);color:var(--text-secondary)}.client-cell{display:flex;flex-direction:column;gap:2px}.client-cell .client-name{font-weight:var(--font-medium);color:var(--text-primary)}td.overdue{color:var(--error-600);font-weight:var(--font-semibold)}.ar-database .btn-icon{width:32px;height:32px;padding:0;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;transition:color .2s ease,background-color .2s ease,border-color .2s ease,box-shadow .2s ease,opacity .2s ease,transform .2s ease}.ar-database .btn-icon:hover:not(:disabled){background:var(--bg-tertiary);color:var(--text-primary)}.ar-database .btn-icon:disabled{opacity:.5;cursor:not-allowed}.ar-database .btn-icon-danger{color:var(--error-600)}.ar-database .btn-icon-danger:hover:not(:disabled){background:var(--error-50);color:var(--error-700)}.ar-database .pagination{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4);background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);margin-top:var(--space-4)}.ar-database .pagination-info{font-size:var(--text-sm);color:var(--text-secondary)}.ar-database .pagination-controls{display:flex;align-items:center;gap:var(--space-3)}.ar-database .pagination-controls select{padding:var(--space-2) var(--space-3);border:1px solid var(--border-primary);border-radius:var(--radius-md);font-size:var(--text-sm);background:var(--bg-primary);color:var(--text-primary)}.page-indicator{font-size:var(--text-sm);color:var(--text-secondary);min-width:100px;text-align:center}.error-banner{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4);background:var(--error-50);border:1px solid var(--error-200);border-radius:var(--radius-lg);margin-bottom:var(--space-4);color:var(--error-700)}.error-banner button{padding:var(--space-2) var(--space-4);background:var(--error-600);color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer}.error-banner button:hover{background:var(--error-700)}.ar-database .modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0f172a99;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--space-6);animation:overlayIn .2s ease}@keyframes overlayIn{0%{opacity:0}to{opacity:1}}.ar-database .modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1100;padding:var(--space-4);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);overscroll-behavior:contain}.ar-database .modal-content{background:var(--bg-secondary);border-radius:var(--radius-xl);width:90%;max-width:900px;max-height:90vh;overflow:auto;box-shadow:var(--shadow-2xl);animation:modalSlideIn .3s cubic-bezier(.16,1,.3,1)}.ar-database .modal-content.modal-lg{max-width:1100px}.ar-database .modal-content.detail-modal{max-width:960px}@keyframes modalIn{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.ar-database .modal-header{padding:var(--space-5) var(--space-6);display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;background:var(--bg-secondary);z-index:1;border-bottom:1px solid var(--border-primary)}.ar-database .modal-header h2{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-primary);margin:0}.ar-database .close-btn{width:32px;height:32px;border-radius:var(--radius-md);border:none;background:transparent;color:var(--text-tertiary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:color .15s ease,background-color .15s ease}.ar-database .close-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.ar-database .modal-body{padding:var(--space-6)}.ar-database .modal-footer{padding:var(--space-4) var(--space-6);border-top:1px solid var(--border-primary);display:flex;justify-content:flex-end;gap:var(--space-3);position:sticky;bottom:0;background:var(--bg-secondary)}.detail-hero{background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);padding:var(--space-5);margin-bottom:var(--space-5)}.detail-hero-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-4)}.detail-hero-id{font-family:SF Mono,Monaco,Cascadia Code,monospace;font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--text-primary);letter-spacing:-.01em}.detail-hero-badges{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.detail-hero-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--space-3)}.hero-stat{display:flex;flex-direction:column;gap:2px}.hero-stat .hero-stat-label{font-size:11px;font-weight:var(--font-medium);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em}.hero-stat .hero-stat-value{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-primary)}.hero-stat .hero-stat-value.amount-primary{font-size:var(--text-lg);color:var(--primary-600)}.hero-stat .hero-stat-value.overdue-text{color:var(--error-600)}.detail-card{background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);margin-bottom:var(--space-4);overflow:hidden}.detail-card:last-child{margin-bottom:0}.detail-card-header{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-primary);background:var(--bg-primary)}.detail-card-header svg{color:var(--text-tertiary);flex-shrink:0}.detail-card-header span{font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.detail-card-body{padding:var(--space-4)}.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0}.detail-item{display:flex;flex-direction:column;gap:2px;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-primary)}.detail-grid .detail-item:nth-child(odd){border-right:1px solid var(--border-primary)}.detail-grid .detail-item:nth-last-child(1),.detail-grid .detail-item:nth-last-child(2):nth-child(odd){border-bottom:none}.detail-item.full-width{grid-column:1 / -1;border-right:none}.detail-item .label{font-size:11px;font-weight:var(--font-medium);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em}.detail-item .value.overdue-text,.detail-item .value.penalty-text{color:var(--error-600);font-weight:var(--font-semibold)}.amount-breakdown{padding:0}.breakdown-row{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3) var(--space-4);font-size:var(--text-sm);color:var(--text-secondary);border-bottom:1px solid var(--border-primary)}.breakdown-row:last-child{border-bottom:none}.breakdown-row span:last-child{font-family:SF Mono,Monaco,Cascadia Code,monospace;font-size:var(--text-xs)}.breakdown-row.total{background:var(--bg-secondary);font-weight:var(--font-semibold);color:var(--text-primary);border-bottom:none;margin-top:0;padding:var(--space-3) var(--space-4)}.breakdown-row.total span:last-child{font-size:var(--text-base);font-weight:var(--font-bold);color:var(--primary-600)}.breakdown-row.remaining{font-weight:var(--font-semibold);color:var(--warning-600);background:var(--warning-50)}.finance-notes-section .finance-notes-box{background:var(--primary-50);border:1px solid var(--primary-200);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4)}.finance-notes-box p{margin:0;font-size:var(--text-sm);color:var(--primary-700);line-height:1.6}.recurring-info-section .recurring-info-box{background:color-mix(in srgb,var(--accent-100) 50%,transparent);border:1px solid var(--accent-200);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4)}.notes-box{padding:var(--space-3) var(--space-4);background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--text-secondary);white-space:pre-wrap;line-height:1.6}.detail-cards-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4);margin-bottom:var(--space-4)}.detail-cards-row .detail-card{margin-bottom:0}.invoice-detail-section{margin-bottom:var(--space-4)}.invoice-detail-section:last-child{margin-bottom:0}.ar-database .btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border:none;border-radius:var(--radius-lg);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:color .2s ease,background-color .2s ease,border-color .2s ease,box-shadow .2s ease,opacity .2s ease,transform .2s ease}.ar-database .btn:disabled{opacity:.6;cursor:not-allowed}.ar-database .btn-secondary{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-primary)}.ar-database .btn-secondary:hover:not(:disabled){background:var(--bg-tertiary)}.ar-database .btn-ghost{background:transparent;color:var(--text-secondary)}.ar-database .btn-ghost:hover:not(:disabled){background:var(--bg-secondary);color:var(--text-primary)}.mobile-cards{display:none}.db-card{background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);padding:var(--space-4);cursor:pointer;transition:color .15s ease,background-color .15s ease,border-color .15s ease,box-shadow .15s ease,opacity .15s ease,transform .15s ease;box-shadow:0 1px 3px #0000000f}.db-card:active{background:var(--bg-secondary);transform:scale(.99)}.db-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-2)}.db-card-id{font-family:SF Mono,Monaco,monospace;font-weight:var(--font-semibold);color:var(--success-600);font-size:var(--text-sm)}.db-card-body{margin-bottom:var(--space-3)}.db-card-title{font-weight:var(--font-semibold);color:var(--text-primary);font-size:var(--text-sm);margin-bottom:var(--space-1)}.db-card-desc{font-size:var(--text-xs);color:var(--text-tertiary);line-height:1.4;margin-bottom:var(--space-2)}.db-card-meta{display:flex;flex-wrap:wrap;gap:var(--space-3);font-size:var(--text-xs);color:var(--text-tertiary)}.db-card-meta-item{display:flex;align-items:center;gap:var(--space-1)}.db-card-meta-item.overdue-text{color:var(--error-600);font-weight:var(--font-medium)}.db-card-footer{display:flex;justify-content:space-between;align-items:center;padding-top:var(--space-3);border-top:1px solid var(--border-primary)}.db-card-amounts{display:flex;flex-direction:column;gap:2px}.db-card-amount{font-size:var(--text-md);font-weight:var(--font-bold);color:var(--text-primary)}.db-card-remaining{font-size:var(--text-xs);color:var(--warning-600);font-weight:var(--font-medium)}.table-container .data-table .th-no,.table-container .data-table .td-no{position:sticky;left:0;z-index:2;background:inherit}.table-container .data-table thead .th-no{background:var(--bg-secondary);z-index:3}.refresh-indicator{height:3px;background:linear-gradient(90deg,transparent,var(--primary-500),transparent);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.empty-state .btn{margin-top:var(--space-2)}@media (max-width: 768px){.ar-database{padding:var(--space-4)}.ar-database .page-header{flex-direction:column;align-items:flex-start;gap:var(--space-4)}.header-actions{width:100%}.header-actions .btn{flex:1;justify-content:center}.filters-section,.advanced-filters{flex-direction:column}.filter-group{width:100%}.stats-row{flex-wrap:wrap}.stat-item{flex:1;min-width:120px;padding-right:var(--space-4)}.detail-grid{grid-template-columns:1fr}.detail-grid .detail-item:nth-child(odd){border-right:none}.detail-grid .detail-item{border-bottom:1px solid var(--border-primary)}.detail-grid .detail-item:last-child{border-bottom:none}.detail-hero-top{flex-direction:column;gap:var(--space-3)}.detail-cards-row{grid-template-columns:1fr}.modal-overlay{padding:0}.modal-content.detail-modal{max-height:100vh;border-radius:0}.modal-body{padding:var(--space-4)}.modal-header{padding:var(--space-4) var(--space-4)}.modal-footer{padding:var(--space-3) var(--space-4)}.desktop-table{display:none}.mobile-cards{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-3)}.pagination{flex-direction:column;gap:var(--space-3)}.pagination-info{text-align:center;font-size:var(--text-xs)}.pagination-controls{width:100%;justify-content:space-between}.pagination-controls select{display:none}.recurring-filter-tabs{flex-wrap:wrap}.rc-schedule-table{font-size:var(--text-xs)}.rc-schedule-table th,.rc-schedule-table td{padding:var(--space-2) var(--space-2)}}@media (max-width: 480px){.ar-database{padding:var(--space-3)}.header-actions{flex-wrap:wrap}.filters-section{flex-direction:column;gap:var(--space-2)}.filters-section>*{width:100%}.stats-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}.stat-item{min-width:0;border-right:none!important;padding-right:0}.stat-item-value{font-size:var(--text-lg, 1.125rem)}.mobile-cards{padding:var(--space-2)!important}.ar-db-tabs{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch}.ar-db-tab{flex-shrink:0}}.recurring-filter-tabs{display:flex;gap:var(--space-1);margin-bottom:var(--space-4)}.recurring-filter-tab{padding:var(--space-2) var(--space-3);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-secondary);background:transparent;border:1px solid var(--border-primary);border-radius:var(--radius-full);cursor:pointer;transition:color .2s ease,background-color .2s ease,border-color .2s ease}.recurring-filter-tab:hover{color:var(--text-primary);border-color:var(--primary-300)}.recurring-filter-tab.active{background:var(--primary-50);color:var(--primary-700);border-color:var(--primary-300)}.recurring-progress{display:flex;align-items:center;gap:var(--space-2)}.recurring-progress-bar{flex:1;height:6px;background:var(--bg-tertiary);border-radius:var(--radius-full);overflow:hidden;min-width:60px}.recurring-progress-fill{height:100%;background:var(--primary-500);border-radius:var(--radius-full);transition:width .3s ease}.recurring-progress-text{font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--text-secondary);min-width:32px;text-align:right}.frequency-badge{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-2);font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--accent-700);background:var(--accent-50);border-radius:var(--radius-full)}.dp-badge{display:inline-flex;align-items:center;padding:2px 8px;font-size:var(--text-xs);font-weight:var(--font-bold);color:var(--primary-700);background:var(--primary-50);border-radius:var(--radius-md)}.row-paid{background:color-mix(in srgb,var(--success-50) 40%,transparent)}.row-overdue{background:color-mix(in srgb,var(--error-50) 40%,transparent)}.row-future td{color:var(--text-tertiary)}.rc-detail-schedule{overflow-x:auto}.rc-schedule-table{font-size:var(--text-sm)}.rc-detail-totals{border-top:2px solid var(--border-primary)}.rc-row-clickable{cursor:pointer;transition:background-color .15s ease}.rc-row-clickable:hover{background:var(--bg-secondary)!important}.rc-expand-cell{width:30px;text-align:center;padding-left:var(--space-2)!important;padding-right:0!important}.rc-expand-icon{color:var(--text-tertiary);transition:transform .2s ease;transform:rotate(-90deg)}.rc-expand-icon.expanded{transform:rotate(0);color:var(--primary-500)}.rc-detail-row td{padding:0!important;border-bottom:1px solid var(--border-primary);background:var(--bg-secondary)}.rc-invoice-detail{padding:var(--space-3) var(--space-4) var(--space-3) 42px;animation:rcDetailIn .15s ease}@keyframes rcDetailIn{0%{opacity:0;max-height:0}to{opacity:1;max-height:300px}}.rc-invoice-detail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:var(--space-2) var(--space-4)}.rc-detail-field{display:flex;flex-direction:column;gap:2px}.rc-detail-field .label{font-size:10px;font-weight:var(--font-medium);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em}.rc-detail-field .value{font-size:var(--text-sm);color:var(--text-primary);font-weight:var(--font-medium)}.rc-detail-field .value.capitalize{text-transform:capitalize}.rc-detail-notes{margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--border-primary);display:flex;flex-direction:column;gap:2px}.rc-detail-notes .label{font-size:10px;font-weight:var(--font-medium);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em}.rc-detail-notes .value{font-size:var(--text-sm);color:var(--text-secondary);line-height:1.5}.db-row-clickable{transition:background-color .12s ease}.db-row-clickable:hover{background-color:var(--neutral-50, #f9fafb)}.db-row-clickable:hover .invoice-number{text-decoration:underline}.db-row-clickable .td-actions{cursor:default}.ar-payments{max-width:1400px;margin:0 auto}.ar-payments .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-6)}.ar-payments .page-header-content{display:flex;align-items:center;gap:var(--space-4)}.ar-payments .header-icon{width:56px;height:56px;border-radius:var(--radius-xl);background:linear-gradient(135deg,var(--success-500),var(--primary-600));display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.ar-payments .page-header h1{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--text-primary);margin:0}.ar-payments .page-header p{color:var(--text-secondary);margin:var(--space-1) 0 0;font-size:var(--text-sm)}.ar-payments .table-container{background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-xl);overflow-x:auto}.ar-payments .loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-16);color:var(--text-secondary);gap:var(--space-4)}.ar-payments .data-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.ar-payments .data-table th,.ar-payments .data-table td{padding:var(--space-3) var(--space-4);text-align:left;border-bottom:1px solid var(--border-primary)}.ar-payments .data-table th{background:var(--bg-secondary);font-weight:var(--font-semibold);color:var(--text-secondary);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;position:sticky;top:0;z-index:1}.ar-payments .data-table tbody tr:hover{background:var(--bg-secondary)}.ar-payments .data-table tbody tr.clickable-row{cursor:pointer;transition:background-color .15s ease}.ar-payments .data-table tbody tr.clickable-row:hover{background:var(--primary-50)}.ar-payments .th-actions,.ar-payments .actions-cell{text-align:center;width:60px}.ar-payments .actions-cell .btn-icon{width:28px;height:28px;padding:0;border:1px solid var(--border-primary);border-radius:var(--radius-md);background:var(--bg-primary);color:var(--text-tertiary);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background-color .2s ease,border-color .2s ease,color .2s ease}.ar-payments .actions-cell .btn-icon:hover{background:var(--primary-50);border-color:var(--primary-300);color:var(--primary-600)}.ar-payments .data-table tbody tr:last-child td{border-bottom:none}.payment-detail-modal{max-width:600px}.detail-section{margin-bottom:var(--space-5);padding-bottom:var(--space-5);border-bottom:1px solid var(--border-primary)}.detail-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.detail-section-title{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;margin:0 0 var(--space-3) 0}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3) var(--space-6)}.detail-label{font-size:var(--text-xs);color:var(--text-tertiary);font-weight:var(--font-medium)}.detail-value{font-size:var(--text-sm);color:var(--text-primary);font-weight:var(--font-medium)}.detail-amount{font-size:var(--text-base);font-weight:var(--font-bold);color:var(--success-600)}.detail-notes{margin:0;font-size:var(--text-sm);color:var(--text-secondary);line-height:1.5;white-space:pre-wrap}.detail-empty{margin:0;font-size:var(--text-sm);color:var(--text-tertiary);font-style:italic}.proof-loading{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3);color:var(--text-tertiary);font-size:var(--text-sm)}.proof-files-list{display:flex;flex-direction:column;gap:var(--space-3)}.proof-file-item{border:1px solid var(--border-primary);border-radius:var(--radius-lg);overflow:hidden}.proof-image-preview{width:100%;max-height:280px;overflow:hidden;background:var(--bg-tertiary);display:flex;align-items:center;justify-content:center}.proof-image-preview img{width:100%;height:auto;max-height:280px;object-fit:contain}.proof-file-info{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--bg-secondary);font-size:var(--text-sm);color:var(--text-secondary)}.proof-file-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.proof-file-actions{display:flex;gap:var(--space-1)}.proof-file-actions .btn-icon{width:24px;height:24px;padding:0;border:1px solid var(--border-primary);border-radius:var(--radius-sm);background:var(--bg-primary);color:var(--text-tertiary);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;transition:background-color .2s ease,color .2s ease}.proof-file-actions .btn-icon:hover{background:var(--primary-50);color:var(--primary-600)}@media (max-width: 640px){.detail-grid{grid-template-columns:1fr}.payment-detail-modal{max-width:100%}}.ar-payments .pagination{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4);background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);margin-top:var(--space-4)}.ar-payments .pagination-info{font-size:var(--text-sm);color:var(--text-secondary)}.ar-payments .pagination-controls{display:flex;align-items:center;gap:var(--space-3)}.ar-payments .pagination-page{font-size:var(--text-sm);color:var(--text-secondary);min-width:100px;text-align:center}.method-badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);font-size:var(--text-xs);font-weight:var(--font-medium);border-radius:var(--radius-md);background:var(--neutral-100);color:var(--neutral-700);text-transform:capitalize;white-space:nowrap}.method-badge.bank_transfer{background:var(--info-100);color:var(--info-700)}.method-badge.cash{background:var(--success-100);color:var(--success-700)}.method-badge.check{background:var(--warning-100);color:var(--warning-700)}.method-badge.credit_card{background:var(--primary-100);color:var(--primary-700)}.payment-type-badge{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-2);font-size:var(--text-xs);font-weight:var(--font-medium);border-radius:var(--radius-md);white-space:nowrap}.payment-type-badge.full{background:var(--success-100);color:var(--success-700)}.payment-type-badge.partial{background:var(--warning-100);color:var(--warning-700)}.payment-type-badge.stage{background:var(--primary-100);color:var(--primary-700)}.ar-payments .date-filter-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-5);padding:var(--space-3) var(--space-4);background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-lg)}.ar-payments .month-navigator{display:flex;align-items:center;gap:var(--space-3)}.ar-payments .month-label{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-primary);min-width:160px;justify-content:center}.ar-payments .btn-icon{width:32px;height:32px;padding:0;border:1px solid var(--border-primary);border-radius:var(--radius-md);background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .2s ease,border-color .2s ease,color .2s ease}.ar-payments .btn-icon:hover:not(:disabled){background:var(--bg-tertiary);color:var(--text-primary)}.ar-payments .btn-icon:disabled{opacity:.4;cursor:not-allowed}.ar-payments .day-filter{display:flex;align-items:center}.ar-payments .day-filter .datepicker-container{min-width:180px}.ar-payments .day-filter .datepicker-dropdown{left:auto;right:0}.ar-payments .dashboard-grid{grid-template-columns:1fr 1fr}.ar-payments .notes-cell{max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:var(--text-xs);color:var(--text-tertiary)}.ar-payments .chart-tooltip{flex-direction:column;align-items:flex-start;gap:var(--space-1)}.ar-payments .header-actions-group{display:flex;gap:var(--space-2);align-items:center}.ar-payments .stat-info-btn{width:28px;height:28px;padding:0;border:1px solid var(--border-primary);border-radius:var(--radius-md);background:var(--bg-secondary);color:var(--text-tertiary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .2s ease,border-color .2s ease,color .2s ease}.ar-payments .stat-info-btn:hover{background:var(--bg-tertiary);color:var(--primary-600);border-color:var(--primary-300)}.outstanding-breakdown .table-container{max-height:480px;overflow-y:auto}.outstanding-breakdown .outstanding-amount{color:var(--warning-700);font-weight:var(--font-semibold)}.outstanding-breakdown .breakdown-total-row{background:var(--bg-secondary);border-top:2px solid var(--border-primary)}.outstanding-breakdown .breakdown-total-row td{padding-top:var(--space-3);padding-bottom:var(--space-3)}.outstanding-breakdown .breakdown-count{margin:var(--space-3) 0 0;font-size:var(--text-sm);color:var(--text-tertiary);text-align:center}@media (max-width: 1280px){.ar-payments .dashboard-grid{grid-template-columns:1fr}}@media (max-width: 768px){.ar-payments{padding:0 var(--space-1)}.ar-payments .page-header{flex-direction:column;align-items:flex-start;gap:var(--space-4)}.ar-payments .header-actions-group{flex-wrap:wrap}.ar-payments .date-filter-bar{flex-direction:column;align-items:stretch}.ar-payments .month-navigator,.ar-payments .day-filter{justify-content:center}}.ar-payments .modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1100;padding:var(--space-4)}.ar-payments .modal-content{background:var(--bg-primary);border-radius:var(--radius-xl);width:100%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow-xl);animation:modalSlideUp .25s cubic-bezier(.16,1,.3,1)}.ar-payments .modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-primary);flex-shrink:0}.ar-payments .modal-header h2,.ar-payments .modal-header h3{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-primary);margin:0}.ar-payments .modal-body{flex:1;overflow-y:auto;padding:var(--space-5) var(--space-6)}.ar-payments .modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-top:1px solid var(--border-primary);flex-shrink:0;background:var(--bg-secondary)}.ar-payments .close-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;color:var(--text-tertiary);border-radius:var(--radius-md);cursor:pointer;transition:background .2s ease,color .2s ease}.ar-payments .close-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}@media (max-width: 640px){.ar-payments .modal-overlay{padding:0;align-items:flex-end}.ar-payments .modal-content{border-radius:16px 16px 0 0;max-height:92dvh}}.ar-recurring{max-width:1400px;margin:0 auto;padding:0 var(--space-2)}.ar-recurring .stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-4);margin-bottom:var(--space-6)}.ar-recurring .stat-card{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);background:var(--bg-primary);border-radius:var(--radius-xl);border:1px solid var(--border-primary);transition:border-color .2s ease,box-shadow .2s ease}.ar-recurring .stat-card:hover{border-color:var(--primary-200);box-shadow:0 2px 8px #0000000a}.ar-recurring .stat-icon{width:48px;height:48px;min-width:48px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-lg);color:#fff;flex-shrink:0}.ar-recurring .stat-icon-primary{background:linear-gradient(135deg,var(--primary-500),var(--primary-600))}.ar-recurring .stat-icon-info{background:linear-gradient(135deg,var(--info-500),var(--info-600))}.ar-recurring .stat-icon-warning{background:linear-gradient(135deg,var(--warning-500),var(--warning-600))}.ar-recurring .stat-icon-success{background:linear-gradient(135deg,var(--success-500),var(--success-600))}.ar-recurring .stat-info{display:flex;flex-direction:column;gap:2px;min-width:0}.ar-recurring .stat-label{font-size:var(--text-xs);color:var(--text-tertiary);font-weight:var(--font-medium)}.ar-recurring .stat-value{font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--text-primary);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.recurring-toolbar{display:flex;gap:var(--space-3);margin-bottom:var(--space-5);align-items:center}.recurring-toolbar .search-bar{flex:1}.ar-recurring .search-bar{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);transition:border-color .2s ease,box-shadow .2s ease}.ar-recurring .search-bar:focus-within{border-color:var(--primary-500);box-shadow:0 0 0 3px var(--primary-100)}.ar-recurring .search-bar svg{color:var(--text-tertiary);flex-shrink:0}.ar-recurring .search-bar input{flex:1;border:none;background:none;font-size:var(--text-sm);color:var(--text-primary);outline:none}.ar-recurring .search-bar input::placeholder{color:var(--text-tertiary)}.recurring-filter-tabs{display:flex;gap:var(--space-1);background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);padding:4px;flex-shrink:0}.recurring-filter-tab{padding:var(--space-2) var(--space-4);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-secondary);background:transparent;border:none;border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;transition:color .2s ease,background-color .2s ease}.recurring-filter-tab:hover{color:var(--text-primary);background:var(--bg-secondary)}.recurring-filter-tab.active{background:var(--primary-500);color:#fff}.recurring-filter-tab-highlight:not(.active){color:var(--warning-700);background:var(--warning-50);border:1px solid var(--warning-200)}.recurring-filter-tab-highlight:not(.active):hover{background:var(--warning-100)}.contracts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--space-4)}.rc-card{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4) var(--space-5);background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-xl);cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease}.rc-card:hover{border-color:var(--primary-200);box-shadow:0 4px 16px #0000000f}.rc-card-overdue{border-left:3px solid var(--error-400)}.rc-card-top{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.rc-proposal-id{font-family:SF Mono,Monaco,Inconsolata,monospace;font-size:var(--text-xs);font-weight:var(--font-bold);color:var(--primary-600);letter-spacing:-.01em}.rc-card-client{display:flex;flex-direction:column;gap:2px;min-width:0}.rc-client-name{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rc-service-name{font-size:var(--text-xs);color:var(--text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rc-card-value{font-size:var(--text-lg);font-weight:var(--font-bold);color:var(--text-primary);line-height:1.2}.rc-card-meta{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.rc-card-meta span{display:inline-flex;align-items:center;padding:2px var(--space-2);font-size:11px;font-weight:var(--font-medium);color:var(--text-tertiary);background:var(--bg-secondary);border-radius:var(--radius-sm)}.rc-card-meta-dp{color:var(--warning-700)!important;background:var(--warning-100)!important;font-weight:var(--font-bold)!important;letter-spacing:.03em}.rc-card-segments-section{display:flex;flex-direction:column;gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--border-primary)}.rc-card-segments{display:flex;gap:2px}.rc-seg{flex:1;height:8px;border-radius:3px;cursor:pointer;position:relative;transition:background-color .15s ease,transform .15s ease,box-shadow .15s ease}.rc-seg:hover{transform:scaleY(1.6);z-index:1}.rc-seg-paid{background:var(--success-500)}.rc-seg-paid:hover{background:var(--success-600);box-shadow:0 2px 8px var(--success-200)}.rc-seg-overdue{background:var(--error-400)}.rc-seg-overdue:hover{background:var(--error-500);box-shadow:0 2px 8px var(--error-200)}.rc-seg-pending{background:var(--warning-400)}.rc-seg-pending:hover{background:var(--warning-500);box-shadow:0 2px 8px var(--warning-200)}.rc-seg-empty{background:var(--bg-tertiary)}.rc-seg-empty:hover{background:var(--border-secondary)}.rc-seg-dp{flex:1.3;margin-right:4px}.rc-seg[data-tooltip]:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%) scale(.95);padding:4px 10px;font-size:11px;font-weight:var(--font-medium);color:#fff;background:var(--text-primary);border-radius:var(--radius-sm);white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .15s ease,transform .15s ease;z-index:10}.rc-seg[data-tooltip]:hover:after{opacity:1;transform:translate(-50%) scale(1)}.rc-seg[data-tooltip]:first-child:after{left:0;transform:translate(0) scale(.95)}.rc-seg[data-tooltip]:first-child:hover:after{transform:translate(0) scale(1)}.rc-seg[data-tooltip]:last-child:after{left:auto;right:0;transform:translate(0) scale(.95)}.rc-seg[data-tooltip]:last-child:hover:after{transform:translate(0) scale(1)}.rc-card-seg-label{font-size:11px;font-weight:var(--font-medium);color:var(--text-tertiary)}.rc-detail-modal{max-width:800px;width:95vw}.rc-modal-title{display:flex;align-items:center;gap:var(--space-3)}.rc-modal-info{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-5);padding-bottom:var(--space-4);border-bottom:1px solid var(--border-primary)}.rc-modal-info-row{display:flex;align-items:center;gap:var(--space-2);min-width:0}.rc-modal-icon{color:var(--text-tertiary);flex-shrink:0}.rc-modal-client{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-primary)}.rc-modal-service{font-size:var(--text-sm);color:var(--text-secondary)}.rc-modal-meta{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4)}.rc-modal-meta-item{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--text-xs);color:var(--text-tertiary);font-weight:var(--font-medium)}.rc-modal-meta-item svg{color:var(--text-quaternary)}.rc-modal-progress{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4);margin-bottom:var(--space-5)}.rc-progress-item{display:flex;flex-direction:column;gap:var(--space-1)}.rc-progress-head{display:flex;justify-content:space-between;font-size:var(--text-xs);color:var(--text-tertiary)}.rc-progress-val{font-weight:var(--font-semibold);color:var(--text-secondary)}.progress-bar{height:6px;background:var(--bg-tertiary);border-radius:var(--radius-full);overflow:hidden}.progress-fill{height:100%;border-radius:var(--radius-full);transition:width .3s ease;min-width:2px}.progress-fill-primary{background:var(--primary-500)}.progress-fill-success{background:var(--success-500)}.rc-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.rc-table{width:100%;border-collapse:collapse;table-layout:auto;min-width:600px}.rc-table thead th{padding:var(--space-2) var(--space-4);font-size:11px;font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:.05em;color:var(--text-quaternary);background:var(--bg-tertiary);border-bottom:1px solid var(--border-primary);text-align:left;white-space:nowrap}.rc-th-num{width:36px;text-align:center}.rc-th-amount{text-align:right}.rc-th-actions{width:1%;white-space:nowrap}.rc-table tbody td{padding:var(--space-3) var(--space-4);font-size:var(--text-sm);color:var(--text-primary);border-bottom:1px solid var(--border-primary);vertical-align:middle}.rc-table tbody tr:last-child td{border-bottom:none}.rc-table tbody tr{background:var(--bg-primary);transition:background-color .15s ease}.rc-table tbody tr:hover{background:var(--bg-secondary)}.rc-table tbody tr.row-paid{background:var(--success-50)}.rc-table tbody tr.row-paid:hover{background:var(--success-100)}.rc-table tbody tr.row-overdue{background:var(--error-50)}.rc-table tbody tr.row-overdue:hover{background:var(--error-100)}.rc-table tbody tr.row-future{background:transparent}.rc-table tbody tr.row-future td{color:var(--text-quaternary)}.rc-td-num{text-align:center;font-weight:var(--font-bold);font-size:var(--text-xs);color:var(--text-tertiary)}.rc-table tbody tr.row-paid .rc-td-num{color:var(--success-600)}.rc-table tbody tr.row-overdue .rc-td-num{color:var(--error-600)}.rc-td-period{font-weight:var(--font-medium);white-space:nowrap}.rc-inv-id{font-family:SF Mono,Monaco,Inconsolata,monospace;font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--primary-600)}.rc-td-amount{text-align:right;font-weight:var(--font-semibold);white-space:nowrap}.rc-muted{color:var(--text-quaternary);font-size:var(--text-xs);font-weight:var(--font-normal)}.rc-td-actions{text-align:right;white-space:nowrap}.rc-actions{display:flex;align-items:center;gap:var(--space-2);justify-content:flex-end}.ar-recurring .action-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:30px;height:30px;padding:0 10px;border:1px solid var(--border-primary);border-radius:var(--radius-md);background:var(--bg-primary);color:var(--text-tertiary);font-size:12px;font-weight:500;white-space:nowrap;cursor:pointer;transition:color .15s ease,background-color .15s ease,border-color .15s ease}.ar-recurring .action-btn:not(:has(span)){padding:0;width:30px}.ar-recurring .action-btn:hover{background:var(--bg-secondary);color:var(--primary-600);border-color:var(--primary-300)}.ar-recurring .action-btn-primary{background:var(--primary-50);color:var(--primary-600);border-color:var(--primary-200)}.ar-recurring .action-btn-primary:hover{background:var(--primary-100);color:var(--primary-700);border-color:var(--primary-300)}.view-invoice-modal{max-width:640px}.invoice-detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-5);padding-bottom:var(--space-4);border-bottom:1px solid var(--border-primary)}.invoice-detail-header>div{display:flex;align-items:center;gap:var(--space-3)}.invoice-number-large{font-family:SF Mono,Monaco,monospace;font-size:var(--text-lg);font-weight:var(--font-bold);color:var(--primary-600)}.billing-type-badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-medium)}.billing-type-badge.recurring{background:var(--primary-50);color:var(--primary-700)}.invoice-detail-section{margin-bottom:var(--space-5)}.invoice-detail-section h4{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-secondary);margin:0 0 var(--space-3) 0;text-transform:uppercase;letter-spacing:.03em}.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3)}.detail-item{display:flex;flex-direction:column;gap:2px}.detail-item.full-width{grid-column:1 / -1}.detail-item .label{font-size:var(--text-xs);color:var(--text-tertiary)}.detail-item .value{font-size:var(--text-sm);color:var(--text-primary);font-weight:var(--font-medium)}.detail-item .value.capitalize{text-transform:capitalize}.overdue-text{color:var(--error-600)!important;font-weight:var(--font-semibold)!important}.amount-breakdown{background:var(--bg-secondary);border-radius:var(--radius-lg);padding:var(--space-4);border:1px solid var(--border-primary)}.breakdown-row{display:flex;justify-content:space-between;padding:var(--space-2) 0;font-size:var(--text-sm);color:var(--text-secondary)}.breakdown-row.total{border-top:2px solid var(--border-primary);margin-top:var(--space-2);padding-top:var(--space-3);font-weight:var(--font-bold);color:var(--text-primary);font-size:var(--text-base)}.breakdown-row.paid{color:var(--success-600)}.breakdown-row.remaining{font-weight:var(--font-semibold);color:var(--warning-600)}.recurring-info-box{background:var(--primary-50);border:1px solid var(--primary-100);border-radius:var(--radius-lg);padding:var(--space-4)}.finance-notes-box{background:var(--warning-50);border:1px solid var(--warning-100);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4);font-size:var(--text-sm);color:var(--warning-800)}.finance-notes-box p{margin:0}.payment-modal{max-width:560px}.invoice-summary{background:var(--bg-secondary);border-radius:var(--radius-lg);padding:var(--space-4);margin-bottom:var(--space-5);border:1px solid var(--border-primary)}.summary-row{display:flex;justify-content:space-between;padding:var(--space-1) 0;font-size:var(--text-sm);color:var(--text-secondary)}.summary-row.highlight{background:var(--warning-50);padding:var(--space-2) var(--space-3);margin:var(--space-2) calc(-1 * var(--space-3)) calc(-1 * var(--space-2));border-radius:var(--radius-md);color:var(--warning-700);font-weight:var(--font-semibold)}.pph-info-box{background:var(--info-50);border:1px solid var(--info-100);border-radius:var(--radius-lg);padding:var(--space-4);margin-bottom:var(--space-5)}.pph-info-box h4{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--info-700);margin:0 0 var(--space-3) 0}.pph-info-row{display:flex;justify-content:space-between;font-size:var(--text-sm);color:var(--info-700);padding:var(--space-1) 0}.pph-info-note{font-size:var(--text-xs);color:var(--info-600);margin:var(--space-2) 0 0;font-style:italic}.withholding-proof-section{background:var(--bg-secondary);border-radius:var(--radius-lg);padding:var(--space-4);margin-bottom:var(--space-4);border:1px solid var(--border-primary)}.withholding-proof-section h4{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-secondary);margin:0 0 var(--space-3) 0}.ar-recurring .form-section{display:flex;flex-direction:column;gap:var(--space-4)}.input-with-prefix{display:flex;align-items:center;border:1px solid var(--border-primary);border-radius:var(--radius-md);overflow:hidden;background:var(--bg-primary)}.input-with-prefix .input-prefix{padding:var(--space-2) var(--space-3);background:var(--bg-secondary);border-right:1px solid var(--border-primary);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-tertiary)}.input-with-prefix .form-input{border:none;flex:1}.input-with-icon{position:relative;display:flex;align-items:center}.input-with-icon svg{position:absolute;left:var(--space-3);color:var(--text-quaternary);pointer-events:none}.input-with-icon .form-input{padding-left:var(--space-9)}.sent-modal{max-width:520px}.recurring-empty{text-align:center;padding:var(--space-16);color:var(--text-tertiary)}.recurring-empty svg{opacity:.3;margin-bottom:var(--space-4)}.recurring-empty h3{color:var(--text-secondary);margin:0 0 var(--space-2) 0}.recurring-empty p{margin:0;font-size:var(--text-sm)}.dp-badge{display:inline-flex;align-items:center;gap:3px;padding:1px 8px;font-size:10px;font-weight:var(--font-bold);color:var(--warning-700);background:var(--warning-100);border-radius:var(--radius-full);letter-spacing:.03em;text-transform:uppercase}.rc-table tbody tr.row-dp{background:var(--warning-50)}.rc-table tbody tr.row-dp:hover{background:var(--warning-100)}.dp-info-banner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--warning-50);border:1px solid var(--warning-200);border-radius:var(--radius-lg);margin-bottom:var(--space-4)}.dp-info-banner-text{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--warning-800)}.dp-info-banner-text svg{color:var(--warning-500);flex-shrink:0}@media (max-width: 1024px){.ar-recurring .stats-grid{grid-template-columns:repeat(2,1fr)}.rc-modal-progress{grid-template-columns:1fr}}@media (max-width: 1024px){.contracts-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.ar-recurring .stats-grid,.contracts-grid,.detail-grid{grid-template-columns:1fr}.invoice-detail-header{flex-direction:column;gap:var(--space-3);align-items:flex-start}.recurring-toolbar{flex-direction:column}.recurring-filter-tabs{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.rc-modal-progress{grid-template-columns:1fr}.rc-modal-meta{flex-direction:column;gap:var(--space-1)}}.ar-recurring .modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1100;padding:var(--space-4)}.ar-recurring .modal-content{background:var(--bg-primary);border-radius:var(--radius-xl);width:100%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow-xl);animation:modalSlideUp .25s cubic-bezier(.16,1,.3,1)}.ar-recurring .modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-primary);flex-shrink:0}.ar-recurring .modal-header h2,.ar-recurring .modal-header h3{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-primary);margin:0}.ar-recurring .modal-body{flex:1;overflow-y:auto;padding:var(--space-5) var(--space-6)}.ar-recurring .modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-top:1px solid var(--border-primary);flex-shrink:0;background:var(--bg-secondary)}.ar-recurring .close-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;color:var(--text-tertiary);border-radius:var(--radius-md);cursor:pointer;transition:background .2s ease,color .2s ease}.ar-recurring .close-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}@media (max-width: 640px){.ar-recurring .modal-overlay{padding:0;align-items:flex-end}.ar-recurring .modal-content{border-radius:16px 16px 0 0;max-height:92dvh}}.recurring-batch-actions{display:flex;align-items:center;gap:10px}.batch-due-badge{font-size:var(--text-sm, .8125rem);font-weight:600;color:var(--warning-700);background:var(--warning-50);border:1px solid var(--warning-200);padding:4px 10px;border-radius:var(--radius-full, 9999px);white-space:nowrap}.contract-due-badge{font-size:var(--text-xs, .6875rem);font-weight:600;color:var(--primary-700);background:var(--primary-50);border:1px solid var(--primary-200);padding:2px 8px;border-radius:var(--radius-full, 9999px);white-space:nowrap}.rc-card-top-badges{display:flex;align-items:center;gap:6px;flex-shrink:0}.batch-confirm-modal{max-width:720px}.batch-confirm-desc{font-size:var(--text-sm, .8125rem);color:var(--text-secondary);margin-bottom:16px;line-height:1.5}.batch-confirm-table-wrap{max-height:320px;overflow-y:auto;border:1px solid var(--border-primary);border-radius:var(--radius-md, 8px)}.batch-results-modal{max-width:780px}.batch-results-summary{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px}.batch-summary-item{display:flex;align-items:center;gap:6px;font-size:var(--text-sm, .8125rem);font-weight:600;padding:6px 14px;border-radius:var(--radius-md, 8px)}.batch-summary-success{color:var(--success-700);background:var(--success-50)}.batch-summary-error{color:var(--error-700);background:var(--error-50)}.batch-results-table{width:100%;border-collapse:collapse;font-size:var(--text-sm, .8125rem)}.batch-results-table th,.batch-results-table td{padding:8px 12px;border-bottom:1px solid var(--border-primary);text-align:left}.batch-results-table th{background:var(--bg-secondary);font-weight:600;color:var(--text-secondary);font-size:var(--text-xs, .6875rem);text-transform:uppercase;letter-spacing:.04em;position:sticky;top:0;z-index:1}.batch-results-table tbody tr:last-child td{border-bottom:none}.batch-result-success{display:inline-flex;align-items:center;gap:4px;color:var(--success-600);font-weight:500}.batch-result-error{display:inline-flex;align-items:center;gap:4px;color:var(--error-600);font-size:var(--text-xs, .6875rem)}@media (max-width: 640px){.recurring-batch-actions{flex-wrap:wrap}.batch-confirm-table-wrap{max-height:240px}.batch-results-table th:nth-child(3),.batch-results-table td:nth-child(3),.batch-results-table th:nth-child(4),.batch-results-table td:nth-child(4){display:none}}@media (max-width: 480px){.ar-recurring .stats-grid,.contracts-grid,.ar-recurring .rc-modal-progress{grid-template-columns:1fr}}.ot-invoices{max-width:1400px;margin:0 auto}.ot-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-4);margin-bottom:var(--space-6)}.ot-stat-card{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);background:var(--bg-primary);border-radius:var(--radius-xl);border:1px solid var(--border-primary);transition:border-color .2s ease,box-shadow .2s ease}.ot-stat-card:hover{border-color:var(--primary-200);box-shadow:0 2px 8px #0000000a}.ot-stat-icon{width:48px;height:48px;min-width:48px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-lg);color:#fff;flex-shrink:0}.ot-stat-icon-primary{background:linear-gradient(135deg,var(--primary-500),var(--primary-600))}.ot-stat-icon-warning{background:linear-gradient(135deg,var(--warning-500),var(--warning-600))}.ot-stat-icon-success{background:linear-gradient(135deg,var(--success-500),var(--success-600))}.ot-stat-icon-error{background:linear-gradient(135deg,var(--error-500),var(--error-600))}.ot-stat-info{display:flex;flex-direction:column;gap:2px;min-width:0}.ot-stat-label{font-size:var(--text-xs);color:var(--text-tertiary);font-weight:var(--font-medium)}.ot-stat-value{font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--text-primary);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ot-toolbar{display:flex;gap:var(--space-3);margin-bottom:var(--space-5);align-items:center;flex-wrap:wrap}.ot-search{flex:1;min-width:200px;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);transition:border-color .2s ease,box-shadow .2s ease}.ot-search:focus-within{border-color:var(--primary-500);box-shadow:0 0 0 3px var(--primary-100)}.ot-search svg{color:var(--text-tertiary);flex-shrink:0}.ot-search input{flex:1;border:none;background:none;font-size:var(--text-sm);color:var(--text-primary);outline:none}.ot-search input::placeholder{color:var(--text-tertiary)}.ot-filter-tabs{display:flex;gap:var(--space-1);background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);padding:3px}.ot-filter-tab{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-3);font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--text-secondary);background:transparent;border:none;border-radius:var(--radius-md);cursor:pointer;transition:color .2s ease,background-color .2s ease;white-space:nowrap}.ot-filter-tab:hover{color:var(--text-primary);background:var(--bg-secondary)}.ot-filter-tab.active{background:var(--primary-500);color:#fff}.ot-tab-count{font-size:10px;min-width:16px;height:16px;padding:0 4px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-full);background:#0000001a}.ot-filter-tab.active .ot-tab-count{background:#ffffff40}.ot-list{display:flex;flex-direction:column;gap:var(--space-3)}.ot-card{background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-xl);padding:var(--space-4) var(--space-5);cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease}.ot-card:hover{border-color:var(--primary-200);box-shadow:0 2px 8px #0000000a}.ot-card-overdue{border-left:3px solid var(--error-500)}.ot-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-2)}.ot-card-number{font-family:SF Mono,Fira Code,Cascadia Code,monospace;font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-primary)}.ot-card-body{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.ot-card-left{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.ot-card-client{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-primary)}.ot-card-service{font-size:var(--text-xs);color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ot-card-right{display:flex;flex-direction:column;align-items:flex-end;gap:2px;flex-shrink:0}.ot-card-amount{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-primary)}.ot-card-date{font-size:var(--text-xs);color:var(--text-tertiary)}.ot-card-overdue-days{font-size:var(--text-xs);color:var(--error-600);font-weight:var(--font-medium)}.ot-empty{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-12) var(--space-6);text-align:center;color:var(--text-tertiary)}.ot-empty svg{opacity:.3}.ot-empty p{font-size:var(--text-sm);margin:0}.ot-stage-group{background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-xl);overflow:hidden;transition:border-color .2s ease,box-shadow .2s ease}.ot-stage-group:hover{border-color:var(--primary-200);box-shadow:0 2px 8px #0000000a}.ot-stage-group-overdue{border-left:3px solid var(--error-500)}.ot-stage-group-paid{border-left:3px solid var(--success-500)}.ot-stage-group-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4) var(--space-5);cursor:pointer}.ot-stage-group-left{display:flex;align-items:center;gap:var(--space-3);min-width:0;flex:1}.ot-stage-group-icon{width:36px;height:36px;min-width:36px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);background:var(--primary-50);color:var(--primary-600)}.ot-stage-group-paid .ot-stage-group-icon{background:var(--success-50);color:var(--success-600)}.ot-stage-group-info{display:flex;flex-direction:column;gap:2px;min-width:0}.ot-stage-group-client{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-primary)}.ot-stage-group-service{font-size:var(--text-xs);color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ot-stage-group-right{display:flex;align-items:center;gap:var(--space-3);flex-shrink:0}.ot-stage-group-progress{display:flex;flex-direction:column;align-items:flex-end;gap:4px;min-width:100px}.ot-stage-progress-label{font-size:var(--text-xs);color:var(--text-secondary);font-weight:var(--font-medium);white-space:nowrap}.ot-stage-progress-bar{width:100px;height:4px;background:var(--bg-tertiary);border-radius:var(--radius-full);overflow:hidden}.ot-stage-progress-fill{height:100%;background:var(--success-500);border-radius:var(--radius-full);transition:width .3s ease}.ot-stage-group-total{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-primary);white-space:nowrap}.ot-stage-group-paid-amount{font-size:var(--text-xs);color:var(--success-600);font-weight:var(--font-medium);white-space:nowrap}.ot-stage-expand-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:var(--bg-secondary);color:var(--text-secondary);border-radius:var(--radius-md);cursor:pointer;transition:background .2s ease,color .2s ease}.ot-stage-expand-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.ot-stage-dots{display:flex;align-items:flex-start;gap:0;padding:0 var(--space-5) var(--space-4)}.ot-stage-dot-item{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);position:relative;flex:1;cursor:pointer}.ot-stage-dot-item:hover .ot-stage-dot{transform:scale(1.15)}.ot-stage-dot{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;position:relative;z-index:1;transition:transform .2s ease}.ot-stage-dot.paid{background:var(--success-500);color:#fff}.ot-stage-dot.overdue{background:var(--error-500);color:#fff}.ot-stage-dot.pending{background:var(--bg-tertiary);color:var(--text-tertiary);border:2px solid var(--border-primary)}.ot-stage-connector{position:absolute;top:12px;left:calc(50% + 12px);right:calc(-50% + 12px);height:2px;background:var(--border-primary);z-index:0}.ot-stage-connector.paid{background:var(--success-400)}.ot-stage-dot-label{font-size:10px;color:var(--text-tertiary);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:80px}.ot-stage-list{display:flex;flex-direction:column;gap:var(--space-2);padding:0 var(--space-4) var(--space-4)}.ot-stage-card{border-radius:var(--radius-lg)!important;padding:var(--space-3) var(--space-4)!important}.ot-stage-card-paid{background:var(--success-50)!important;border-color:var(--success-200)!important}.ot-stage-card-label{display:flex;align-items:center;gap:var(--space-2)}.ot-stage-index{width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:var(--font-bold);color:var(--primary-600);background:var(--primary-50);border-radius:50%;flex-shrink:0}.ot-stage-card-paid .ot-stage-index{color:var(--success-600);background:var(--success-100)}.ot-stage-period-badge{font-size:var(--text-xs);padding:2px 8px;background:var(--bg-secondary);color:var(--text-secondary);border-radius:var(--radius-full);font-weight:var(--font-medium)}.ot-view-stages{background:var(--bg-secondary);border-radius:var(--radius-lg);padding:var(--space-4)!important;margin-bottom:var(--space-4)!important;border:none!important}.ot-view-stage-tracker{display:flex;gap:0;padding:var(--space-2) 0 var(--space-3)}.ot-view-stage-step{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);flex:1;position:relative;cursor:pointer;padding:var(--space-2);border-radius:var(--radius-md);transition:background .2s ease}.ot-view-stage-step:hover{background:var(--bg-tertiary)}.ot-view-stage-step.current{background:var(--primary-50)}.ot-view-stage-dot{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;z-index:1}.ot-view-stage-step.paid .ot-view-stage-dot{background:var(--success-500);color:#fff}.ot-view-stage-step.overdue .ot-view-stage-dot{background:var(--error-500);color:#fff}.ot-view-stage-step.pending .ot-view-stage-dot{background:var(--bg-primary);color:var(--text-tertiary);border:2px solid var(--border-primary)}.ot-view-stage-line{position:absolute;top:calc(var(--space-2) + 14px);left:calc(50% + 14px);right:calc(-50% + 14px);height:2px;background:var(--border-primary);z-index:0}.ot-view-stage-line.paid{background:var(--success-400)}.ot-view-stage-info{display:flex;flex-direction:column;align-items:center;gap:2px;text-align:center}.ot-view-stage-label{font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--text-primary)}.ot-view-stage-amount{font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--text-primary)}.ot-view-stage-status{font-size:10px;font-weight:var(--font-medium);padding:1px 6px;border-radius:var(--radius-full)}.ot-view-stage-status.paid{color:var(--success-700);background:var(--success-100)}.ot-view-stage-status.overdue{color:var(--error-700);background:var(--error-100)}.ot-view-stage-status.pending{color:var(--text-tertiary);background:var(--bg-tertiary)}.ot-view-stage-summary{border-top:1px solid var(--border-secondary);padding-top:var(--space-3);margin-top:var(--space-2)}.ot-view-stage-summary-row{display:flex;justify-content:space-between;align-items:center;font-size:var(--text-xs);padding:2px 0;color:var(--text-secondary)}.ot-view-stage-summary-row strong{font-weight:var(--font-semibold);color:var(--text-primary)}.ot-view-stage-summary-row strong.collected{color:var(--success-600)}.ot-view-stage-summary-row strong.remaining{color:var(--warning-600)}.ot-view-stage-progress-bar{width:100%;height:4px;background:var(--bg-tertiary);border-radius:var(--radius-full);overflow:hidden;margin-top:var(--space-2)}.ot-view-stage-progress-fill{height:100%;background:var(--success-500);border-radius:var(--radius-full);transition:width .3s ease}margin: 0; } .ot-view-modal{max-width:640px}.ot-view-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4)}.ot-view-number{font-family:SF Mono,Fira Code,Cascadia Code,monospace;font-size:var(--text-lg);font-weight:var(--font-bold);color:var(--text-primary);margin-right:var(--space-3)}.ot-view-section{margin-bottom:var(--space-4);padding-bottom:var(--space-4);border-bottom:1px solid var(--border-secondary)}.ot-view-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.ot-view-section h4{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-secondary);margin-bottom:var(--space-3)}.ot-view-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.ot-view-item{display:flex;flex-direction:column;gap:2px}.ot-view-item.full-width{grid-column:1 / -1}.ot-view-item .label{font-size:var(--text-xs);color:var(--text-tertiary);font-weight:var(--font-medium)}.ot-view-item .value{font-size:var(--text-sm);color:var(--text-primary)}.ot-view-breakdown{display:flex;flex-direction:column;gap:var(--space-2)}.ot-view-breakdown .breakdown-row{display:flex;justify-content:space-between;align-items:center;font-size:var(--text-sm);padding:var(--space-1) 0}.ot-view-breakdown .breakdown-row.total{border-top:2px solid var(--border-primary);padding-top:var(--space-2);margin-top:var(--space-1);font-weight:var(--font-bold);font-size:var(--text-base)}.ot-view-breakdown .breakdown-row.remaining{color:var(--warning-600);font-weight:var(--font-semibold)}.ot-view-notes{font-size:var(--text-sm);color:var(--text-secondary);line-height:1.6;margin:0}.ot-payment-modal{max-width:560px}@media (max-width: 640px){.ot-stats{grid-template-columns:repeat(2,1fr)}.ot-toolbar{flex-direction:column}.ot-filter-tabs{overflow-x:auto;width:100%}.ot-card-body{flex-direction:column;align-items:flex-start}.ot-card-right{align-items:flex-start;flex-direction:row;gap:var(--space-3)}.ot-view-grid{grid-template-columns:1fr}.ot-view-modal,.ot-payment-modal{max-width:100%;margin:0;border-radius:16px 16px 0 0;position:fixed;bottom:0;left:0;right:0;max-height:90vh}.ot-stage-group-header{flex-direction:column;align-items:flex-start;gap:var(--space-3)}.ot-stage-group-right{width:100%;flex-wrap:wrap}.ot-stage-group-progress{flex:1;align-items:flex-start}.ot-stage-progress-bar{width:100%}.ot-stage-dots{overflow-x:auto;padding-bottom:var(--space-3)}.ot-stage-dot-label{max-width:60px;font-size:9px}.ot-view-stage-tracker{overflow-x:auto;padding-bottom:var(--space-2)}.ot-view-stage-step{min-width:80px}}.ot-invoices .modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1100;padding:var(--space-4)}.ot-invoices .modal-content{background:var(--bg-primary);border-radius:var(--radius-xl);width:100%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow-xl);animation:modalSlideUp .25s cubic-bezier(.16,1,.3,1)}.ot-invoices .modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-primary);flex-shrink:0}.ot-invoices .modal-header h2,.ot-invoices .modal-header h3{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-primary);margin:0}.ot-invoices .modal-body{flex:1;overflow-y:auto;padding:var(--space-5) var(--space-6)}.ot-invoices .modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-top:1px solid var(--border-primary);flex-shrink:0;background:var(--bg-secondary)}.ot-invoices .close-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;color:var(--text-tertiary);border-radius:var(--radius-md);cursor:pointer;transition:background .2s ease,color .2s ease}.ot-invoices .close-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}@media (max-width: 640px){.ot-invoices .modal-overlay{padding:0;align-items:flex-end}.ot-invoices .modal-content{border-radius:16px 16px 0 0;max-height:92dvh}}.tm-invoices{max-width:1400px;margin:0 auto}.tm-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:var(--space-6);gap:var(--space-4);flex-wrap:wrap}.tm-header-left{display:flex;flex-direction:column;gap:var(--space-1)}.tm-month-picker-wrapper{display:flex;align-items:center;gap:var(--space-2);padding:10px 14px;background:var(--bg-primary);border:1px solid var(--border-secondary);border-radius:var(--radius-lg);cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease;box-shadow:0 1px 2px #0000000d}.tm-month-picker-wrapper:hover{border-color:var(--border-tertiary, var(--primary-200))}.tm-month-picker-wrapper:focus-within{border-color:var(--primary-400);box-shadow:0 0 0 3px var(--primary-100)}.tm-month-picker-icon{color:var(--text-quaternary, var(--text-tertiary));flex-shrink:0}.tm-month-picker-input{border:none;background:transparent;font-family:inherit;font-size:var(--text-md, 15px);font-weight:var(--font-medium);color:var(--text-primary);cursor:pointer;outline:none;padding:0;line-height:1.4}.tm-month-picker-input::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.5;transition:opacity .2s ease}.tm-month-picker-input::-webkit-calendar-picker-indicator:hover{opacity:1}.tm-subtitle{font-size:var(--text-sm);color:var(--text-tertiary);padding-left:2px}.tm-header-right{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.tm-action-btn{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);font-size:var(--text-sm);font-weight:var(--font-semibold);border:none;border-radius:var(--radius-lg);cursor:pointer;transition:background-color .2s ease,opacity .2s ease;white-space:nowrap}.tm-action-btn:disabled{opacity:.6;cursor:not-allowed}.tm-action-download{background:var(--primary-500);color:#fff}.tm-action-download:hover:not(:disabled){background:var(--primary-600)}.tm-action-generate{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.tm-action-generate:hover:not(:disabled){background:linear-gradient(135deg,#d97706,#b45309)}.tm-action-refresh{padding:var(--space-2);background:var(--bg-primary);border:1px solid var(--border-primary);color:var(--text-secondary);border-radius:var(--radius-md)}.tm-action-refresh:hover:not(:disabled){border-color:var(--primary-300);color:var(--primary-600)}.tm-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-4);margin-bottom:var(--space-6)}.tm-stat-card{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);background:var(--bg-primary);border-radius:var(--radius-xl);border:1px solid var(--border-primary);transition:border-color .2s ease,box-shadow .2s ease}.tm-stat-card:hover{border-color:var(--primary-200);box-shadow:0 2px 8px #0000000a}.tm-stat-icon{width:48px;height:48px;min-width:48px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-lg);color:#fff;flex-shrink:0}.tm-stat-icon-primary{background:linear-gradient(135deg,var(--primary-500),var(--primary-600))}.tm-stat-icon-success{background:linear-gradient(135deg,var(--success-500),var(--success-600))}.tm-stat-icon-info{background:linear-gradient(135deg,#3b82f6,#2563eb)}.tm-stat-icon-warning{background:linear-gradient(135deg,var(--warning-500),var(--warning-600))}.tm-stat-icon-error{background:linear-gradient(135deg,var(--error-500),var(--error-600))}.tm-stat-info{display:flex;flex-direction:column;gap:2px;min-width:0}.tm-stat-label{font-size:var(--text-xs);color:var(--text-tertiary);font-weight:var(--font-medium)}.tm-stat-value{font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--text-primary);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tm-toolbar{display:flex;gap:var(--space-3);margin-bottom:var(--space-5);align-items:center;flex-wrap:wrap}.tm-search{flex:1;min-width:200px;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);transition:border-color .2s ease,box-shadow .2s ease}.tm-search:focus-within{border-color:var(--primary-500);box-shadow:0 0 0 3px var(--primary-100)}.tm-search svg{color:var(--text-tertiary);flex-shrink:0}.tm-search input{flex:1;border:none;background:none;font-size:var(--text-sm);color:var(--text-primary);outline:none}.tm-search input::placeholder{color:var(--text-tertiary)}.tm-search-clear{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border:none;border-radius:var(--radius-full);background:var(--bg-tertiary);color:var(--text-tertiary);cursor:pointer}.tm-filter-tabs{display:flex;gap:var(--space-1);background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);padding:3px}.tm-filter-tab{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-3);font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--text-secondary);background:transparent;border:none;border-radius:var(--radius-md);cursor:pointer;transition:color .2s ease,background-color .2s ease;white-space:nowrap}.tm-filter-tab:hover{color:var(--text-primary);background:var(--bg-secondary)}.tm-filter-tab.active{background:var(--primary-500);color:#fff}.tm-filter-tab-pending{color:#d97706}.tm-filter-tab-pending.active{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.tm-tab-count{font-size:10px;min-width:16px;height:16px;padding:0 4px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-full);background:#0000001a}.tm-filter-tab.active .tm-tab-count{background:#ffffff40}.tm-section{margin-bottom:var(--space-6)}.tm-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4)}.tm-section-title{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-primary);margin:0}.tm-section-title svg{color:var(--primary-500)}.tm-section-count{font-size:var(--text-sm);color:var(--text-tertiary)}.tm-pending-banner{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:linear-gradient(135deg,#fffbeb,#fef3c7);border:1px solid #fde68a;border-radius:var(--radius-lg);margin-bottom:var(--space-5);cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease;color:#92400e;font-size:var(--text-sm)}.tm-pending-banner:hover{border-color:#fbbf24;box-shadow:0 2px 8px #fbbf2426}.tm-pending-banner svg:first-child{color:#f59e0b;flex-shrink:0}.tm-pending-banner svg:last-child{color:#d97706;margin-left:auto;flex-shrink:0}.tm-pending-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--space-4)}.tm-pending-card{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4);background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-xl);border-left:4px solid #f59e0b;transition:border-color .2s ease,box-shadow .2s ease}.tm-pending-card:hover{border-color:#fbbf24;box-shadow:0 2px 8px #0000000a}.tm-pending-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.tm-pending-client{display:flex;align-items:center;gap:var(--space-2);font-weight:var(--font-semibold);color:var(--text-primary);font-size:var(--text-sm);min-width:0}.tm-pending-client span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tm-pending-client svg{color:var(--text-tertiary);flex-shrink:0}.tm-pending-badge{display:flex;align-items:center;gap:4px;padding:2px 8px;font-size:10px;font-weight:var(--font-semibold);background:#fef3c7;color:#92400e;border-radius:var(--radius-full);white-space:nowrap;flex-shrink:0}.tm-pending-service{font-size:var(--text-sm);color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tm-pending-meta{display:flex;gap:var(--space-4);font-size:var(--text-xs);color:var(--text-tertiary)}.tm-pending-meta span{display:flex;align-items:center;gap:4px}.tm-pending-progress{font-size:var(--text-xs);color:var(--text-tertiary)}.tm-pending-label{font-size:var(--text-xs);color:#b45309;font-weight:var(--font-medium)}.tm-table-wrap{background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-xl);overflow-x:auto;-webkit-overflow-scrolling:touch}.tm-table{width:100%;min-width:1100px;border-collapse:collapse}.tm-table thead{background:var(--bg-secondary);position:sticky;top:0;z-index:1}.tm-table th{padding:var(--space-3) var(--space-4);font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--text-tertiary);text-align:left;text-transform:uppercase;letter-spacing:.025em;border-bottom:1px solid var(--border-primary);white-space:nowrap}.tm-table td{padding:var(--space-3) var(--space-4);font-size:var(--text-sm);color:var(--text-primary);border-bottom:1px solid var(--border-secondary);vertical-align:middle}.tm-table tbody tr:hover{background:var(--bg-secondary)}.tm-table tbody tr:last-child td{border-bottom:none}.tm-col-right{text-align:right!important}.tm-cell-mono{font-family:SF Mono,Menlo,monospace;font-size:var(--text-xs);color:var(--text-secondary);white-space:nowrap}.tm-cell-client{display:flex;align-items:center;gap:var(--space-2);max-width:180px}.tm-cell-client svg{color:var(--text-tertiary);flex-shrink:0}.tm-cell-client span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tm-cell-service{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tm-cell-period{font-size:var(--text-xs);color:var(--text-secondary);white-space:nowrap}.tm-cell-amount{font-weight:var(--font-semibold);white-space:nowrap}.tm-cell-date{font-size:var(--text-xs);color:var(--text-secondary);white-space:nowrap}.tm-type-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;font-size:10px;font-weight:var(--font-semibold);border-radius:var(--radius-full);white-space:nowrap}.tm-type-recurring{background:var(--primary-50);color:var(--primary-600)}.tm-type-onetime{background:var(--bg-tertiary);color:var(--text-secondary)}.tm-status-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;font-size:11px;font-weight:var(--font-semibold);border-radius:var(--radius-full);white-space:nowrap}.tm-status-success{background:var(--success-50);color:var(--success-600)}.tm-status-warning{background:var(--warning-50);color:var(--warning-600)}.tm-status-error{background:var(--error-50);color:var(--error-600)}.tm-status-info{background:#eff6ff;color:#2563eb}.tm-status-secondary{background:var(--bg-tertiary);color:var(--text-secondary)}.tm-actions{display:flex;gap:var(--space-1)}.tm-icon-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:30px;height:30px;padding:0 10px;border:1px solid var(--border-primary);border-radius:var(--radius-md);background:var(--bg-primary);color:var(--text-secondary);font-size:12px;font-weight:500;white-space:nowrap;cursor:pointer;transition:border-color .2s ease,color .2s ease,background-color .2s ease}.tm-icon-btn:hover{border-color:var(--primary-300);color:var(--primary-600);background:var(--primary-50)}.tm-icon-send:hover{border-color:#93c5fd;color:#2563eb;background:#eff6ff}.tm-icon-pay:hover{border-color:var(--success-200);color:var(--success-600);background:var(--success-50)}.tm-empty{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-12) var(--space-4);color:var(--text-tertiary);text-align:center}.tm-empty svg{opacity:.3}.tm-empty p{font-size:var(--text-sm);margin:0}.tm-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;background:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:var(--space-4);animation:tmFadeIn .15s ease}@keyframes tmFadeIn{0%{opacity:0}to{opacity:1}}.tm-modal{background:var(--bg-primary);border-radius:var(--radius-xl);width:100%;max-width:620px;max-height:85vh;display:flex;flex-direction:column;box-shadow:var(--shadow-xl);animation:tmSlideIn .2s ease}@keyframes tmSlideIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.tm-modal-sm{max-width:480px}.tm-modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-5);border-bottom:1px solid var(--border-primary)}.tm-modal-header h2{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-lg);font-weight:var(--font-semibold);margin:0;color:var(--text-primary)}.tm-modal-header h2 svg{color:var(--primary-500)}.tm-modal-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:var(--radius-md);background:transparent;color:var(--text-tertiary);cursor:pointer;transition:background-color .2s ease,color .2s ease}.tm-modal-close:hover{background:var(--bg-tertiary);color:var(--text-primary)}.tm-modal-body{padding:var(--space-5);overflow-y:auto;flex:1}.tm-modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-top:1px solid var(--border-primary)}.tm-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);margin-bottom:var(--space-5)}.tm-detail-row{display:flex;flex-direction:column;gap:2px}.tm-detail-label{font-size:var(--text-xs);color:var(--text-tertiary);font-weight:var(--font-medium)}.tm-detail-value{font-size:var(--text-sm);color:var(--text-primary);font-weight:var(--font-medium)}.tm-detail-amounts{background:var(--bg-secondary);border-radius:var(--radius-lg);padding:var(--space-4);margin-bottom:var(--space-4)}.tm-detail-amount-row{display:flex;justify-content:space-between;padding:var(--space-2) 0;font-size:var(--text-sm);color:var(--text-secondary)}.tm-detail-total{border-top:1px solid var(--border-primary);margin-top:var(--space-2);padding-top:var(--space-3);font-weight:var(--font-bold);color:var(--text-primary);font-size:var(--text-base)}.tm-detail-paid{color:var(--success-600);font-weight:var(--font-semibold)}.tm-detail-notes{padding:var(--space-3);background:var(--bg-secondary);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--text-secondary)}.tm-modal-invoice-info{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4);padding:var(--space-3) var(--space-4);background:var(--bg-secondary);border-radius:var(--radius-lg);margin-bottom:var(--space-4);font-size:var(--text-sm);color:var(--text-secondary)}.tm-modal-amount{font-weight:var(--font-semibold);color:var(--text-primary);margin-left:auto}.tm-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.tm-form-full{grid-column:1 / -1}.tm-form-group{display:flex;flex-direction:column;gap:var(--space-2)}.tm-form-group label{font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--text-secondary)}.tm-form-group input,.tm-form-group select,.tm-form-group textarea{padding:var(--space-2) var(--space-3);font-size:var(--text-sm);border:1px solid var(--border-primary);border-radius:var(--radius-md);background:var(--bg-primary);color:var(--text-primary);outline:none;transition:border-color .2s ease,box-shadow .2s ease}.tm-form-group input:focus,.tm-form-group select:focus,.tm-form-group textarea:focus{border-color:var(--primary-500);box-shadow:0 0 0 3px var(--primary-100)}.tm-btn-primary{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);font-size:var(--text-sm);font-weight:var(--font-semibold);background:var(--primary-500);color:#fff;border:none;border-radius:var(--radius-lg);cursor:pointer;transition:background-color .2s ease}.tm-btn-primary:hover:not(:disabled){background:var(--primary-600)}.tm-btn-primary:disabled{opacity:.6;cursor:not-allowed}.tm-btn-secondary{padding:var(--space-2) var(--space-4);font-size:var(--text-sm);font-weight:var(--font-medium);background:var(--bg-primary);color:var(--text-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);cursor:pointer;transition:background-color .2s ease,border-color .2s ease}.tm-btn-secondary:hover{background:var(--bg-secondary);border-color:var(--border-secondary)}.tm-batch-desc{font-size:var(--text-sm);color:var(--text-secondary);margin-bottom:var(--space-4)}.tm-batch-table-wrap{max-height:300px;overflow:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--border-primary);border-radius:var(--radius-lg)}.tm-batch-table{width:100%;min-width:900px;border-collapse:collapse}.tm-batch-table thead{background:var(--bg-secondary);position:sticky;top:0;z-index:1}.tm-batch-table th{padding:var(--space-2) var(--space-3);font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--text-tertiary);text-align:left;border-bottom:1px solid var(--border-primary)}.tm-batch-table td{padding:var(--space-2) var(--space-3);font-size:var(--text-sm);border-bottom:1px solid var(--border-secondary)}.tm-batch-table tbody tr:last-child td{border-bottom:none}.tm-results-summary{display:flex;gap:var(--space-4);margin-bottom:var(--space-4)}.tm-results-item{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:var(--font-semibold)}.tm-results-success{color:var(--success-600)}.tm-results-error{color:var(--error-600)}.tm-icon-success{color:var(--success-600)}.tm-icon-error{color:var(--error-600)}.tm-row-success td{background:var(--success-50)}.tm-row-error td{background:var(--error-50)}.spin{animation:tmSpin .8s linear infinite}@keyframes tmSpin{to{transform:rotate(360deg)}}@media (max-width: 1024px){.tm-stats{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.tm-header{flex-direction:column}.tm-header-right{width:100%;justify-content:flex-end}.tm-stats{grid-template-columns:1fr 1fr;gap:var(--space-2)}.tm-stat-card{padding:var(--space-3)}.tm-stat-icon{width:36px;height:36px;min-width:36px}.tm-stat-value{font-size:var(--text-base)}.tm-toolbar{flex-direction:column;align-items:stretch}.tm-search{min-width:0}.tm-filter-tabs,.tm-table-wrap{overflow-x:auto}.tm-pending-grid{grid-template-columns:1fr}.tm-modal{max-width:100%;max-height:90vh;border-radius:16px 16px 0 0;align-self:flex-end}.tm-modal-overlay{align-items:flex-end;padding:0}.tm-detail-grid,.tm-form-grid{grid-template-columns:1fr}.tm-month-picker-input{font-size:var(--text-sm)}}.btn-component{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-family:var(--font-family);font-weight:500;border:none;border-radius:var(--radius-md);cursor:pointer;transition:color var(--duration-fast) var(--ease-out),background-color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out),opacity var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out);white-space:nowrap;text-decoration:none;position:relative;overflow:hidden}.btn-component:focus-visible{outline:2px solid var(--primary-500);outline-offset:2px}.btn-component:disabled,.btn-component[aria-disabled=true]{opacity:.6;cursor:not-allowed;pointer-events:none}.btn-sm{height:32px;padding:0 .75rem;font-size:.8125rem}.btn-md{height:40px;padding:0 1rem;font-size:.875rem}.btn-lg{height:48px;padding:0 1.5rem;font-size:1rem}.btn-primary{background:var(--primary-500);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-600)}.btn-primary:active:not(:disabled){background:var(--primary-700)}.btn-secondary{background:var(--neutral-100);color:var(--text-primary);border:1px solid var(--border-primary)}.btn-secondary:hover:not(:disabled){background:var(--neutral-200)}.btn-secondary:active:not(:disabled){background:var(--neutral-300)}.btn-ghost{background:transparent;color:var(--text-primary)}.btn-ghost:hover:not(:disabled){background:var(--neutral-100)}.btn-ghost:active:not(:disabled){background:var(--neutral-200)}.btn-danger{background:var(--danger-500);color:#fff}.btn-danger:hover:not(:disabled){background:var(--danger-600)}.btn-danger:active:not(:disabled){background:var(--danger-700)}.btn-success{background:var(--success-500);color:#fff}.btn-success:hover:not(:disabled){background:var(--success-600)}.btn-success:active:not(:disabled){background:var(--success-700)}.btn-full-width{width:100%}.btn-loading{cursor:wait}.btn-spinner{animation:spin 1s linear infinite}.btn-icon{display:inline-flex;align-items:center;flex-shrink:0}.btn-icon-left{margin-right:-.25rem}.btn-icon-right{margin-left:-.25rem}.btn-icon-only{display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:var(--radius-md);cursor:pointer;transition:color var(--duration-fast) var(--ease-out),background-color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out),opacity var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out);flex-shrink:0}.btn-icon-only:focus-visible{outline:2px solid var(--primary-500);outline-offset:2px}.btn-icon-only:disabled,.btn-icon-only[aria-disabled=true]{opacity:.6;cursor:not-allowed;pointer-events:none}.btn-icon-sm{width:28px;height:28px}.btn-icon-md{width:36px;height:36px}.btn-icon-lg{width:44px;height:44px}.btn-group{display:inline-flex;align-items:stretch}.btn-group>.btn-component:not(:first-child),.btn-group>.btn-icon-only:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0;margin-left:-1px}.btn-group>.btn-component:not(:last-child),.btn-group>.btn-icon-only:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-component:hover,.btn-group>.btn-icon-only:hover{z-index:1}.badge{display:inline-flex;align-items:center;gap:.375rem;font-weight:500;white-space:nowrap;border-radius:var(--radius-sm);font-family:var(--font-family)}.badge-sm{height:20px;padding:0 .5rem;font-size:.6875rem}.badge-md{height:24px;padding:0 .625rem;font-size:.75rem}.badge-lg{height:28px;padding:0 .75rem;font-size:.8125rem}.badge-rounded{border-radius:9999px}.badge-default{background:var(--neutral-100);color:var(--text-secondary)}.badge-primary{background:var(--primary-50);color:var(--primary-700)}.badge-success{background:var(--success-50);color:var(--success-700)}.badge-warning{background:var(--warning-50);color:var(--warning-700)}.badge-danger{background:var(--danger-50);color:var(--danger-700)}.badge-info{background:var(--info-50, #EFF6FF);color:var(--info-700, #1D4ED8)}.badge-error{background:var(--error-50, #FEE2E2);color:var(--error-700, #991B1B)}.badge-secondary{background:var(--neutral-100, #F3F2F1);color:var(--neutral-600, #57534E)}.badge-dot-indicator{width:6px;height:6px;border-radius:50%;flex-shrink:0}.badge-default .badge-dot-indicator{background:var(--neutral-400)}.badge-primary .badge-dot-indicator{background:var(--primary-500)}.badge-success .badge-dot-indicator{background:var(--success-500)}.badge-warning .badge-dot-indicator{background:var(--warning-500)}.badge-danger .badge-dot-indicator{background:var(--danger-500)}.badge-info .badge-dot-indicator{background:var(--info-500, #3B82F6)}.badge-error .badge-dot-indicator{background:var(--error-500, #DC2626)}.badge-secondary .badge-dot-indicator{background:var(--neutral-400, #A8A29E)}.badge-warning .badge-dot-indicator,.badge.badge-dot[class*=pending] .badge-dot-indicator{animation:pulse-dot 2s ease-in-out infinite}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.5}}.count-badge{min-width:20px;justify-content:center;font-weight:600}.badge-sm.count-badge{min-width:18px}.badge-lg.count-badge{min-width:24px}.card{background:var(--bg-primary);border-radius:var(--radius-lg);overflow:hidden}.card-default{border:1px solid var(--border-primary)}.card-bordered{border:2px solid var(--border-primary)}.card-elevated{border:1px solid var(--border-primary);box-shadow:var(--shadow-md)}.card-flat{background:var(--neutral-50)}.card-padding-none{padding:0}.card-padding-sm{padding:.75rem}.card-padding-md{padding:1.25rem}.card-padding-lg{padding:1.5rem}.card-hoverable{transition:box-shadow var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out)}.card-hoverable:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.card-clickable{cursor:pointer;border:none;text-align:left;width:100%}.card-clickable:focus-visible{outline:2px solid var(--primary-500);outline-offset:2px}.card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding-bottom:1rem;border-bottom:1px solid var(--border-primary);margin-bottom:1rem}.card-padding-none .card-header{padding:1.25rem 1.25rem 1rem;margin-bottom:0}.card-header-content{flex:1;min-width:0}.card-title{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0;line-height:1.4}.card-subtitle{font-size:.875rem;color:var(--text-secondary);margin:.25rem 0 0;line-height:1.5}.card-header-action{flex-shrink:0}.card-body{flex:1}.card-padding-none .card-body{padding:1.25rem}.card-footer{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;padding-top:1rem;border-top:1px solid var(--border-primary);margin-top:1rem}.card-padding-none .card-footer{padding:1rem 1.25rem;margin-top:0}.stat-card{display:flex;flex-direction:column;gap:.5rem}.stat-card-header{display:flex;align-items:center;gap:.5rem}.stat-card-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-md);background:var(--primary-50);color:var(--primary-600)}.stat-card-icon svg{width:18px;height:18px}.stat-card-title{font-size:.875rem;font-weight:500;color:var(--text-secondary)}.stat-card-value{font-size:1.75rem;font-weight:700;color:var(--text-primary);font-family:var(--font-family-heading);line-height:1.2}.stat-card-footer{display:flex;align-items:center;gap:.5rem;font-size:.8125rem}.stat-card-trend{font-weight:600}.stat-card-trend.trend-up{color:var(--success-600)}.stat-card-trend.trend-down{color:var(--danger-600)}.stat-card-subtitle{color:var(--text-tertiary)}@media (max-width: 640px){.card-padding-md{padding:1rem}.card-padding-lg{padding:1.25rem}.stat-card-value{font-size:1.5rem}}.select-container{position:relative;width:100%}.select-label{display:block;font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-secondary);margin-bottom:var(--space-2)}.select-label .required{color:var(--error-500);margin-left:2px}.select-trigger{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:10px 14px;background:var(--bg-primary);border:1px solid var(--border-secondary);border-radius:var(--radius-lg);cursor:pointer;transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast),transform var(--transition-fast);box-shadow:var(--shadow-xs);outline:none}.select-trigger:hover:not(.disabled){border-color:var(--border-tertiary)}.select-trigger.focused{border-color:var(--primary-400);box-shadow:var(--focus-ring)}.select-trigger:focus-visible{border-color:var(--primary-400);box-shadow:var(--focus-ring)}.select-trigger.error{border-color:var(--error-500)}.select-trigger.error.focused,.select-trigger.error:focus-visible{box-shadow:var(--focus-ring-error)}.select-trigger.disabled{background:var(--bg-secondary);cursor:not-allowed;opacity:.6}.select-icon-left{color:var(--text-quaternary);flex-shrink:0}.select-value{flex:1;font-family:var(--font-family);font-size:var(--text-md);color:var(--text-primary);text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.select-value.placeholder{color:var(--text-placeholder)}.select-actions{display:flex;align-items:center;gap:var(--space-1);flex-shrink:0}.select-clear{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;background:var(--bg-tertiary);border-radius:var(--radius-sm);color:var(--text-quaternary);cursor:pointer;transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast),transform var(--transition-fast)}.select-clear:hover{background:var(--error-100);color:var(--error-600)}.select-chevron{color:var(--text-quaternary);transition:transform var(--transition-fast)}.select-chevron.open{transform:rotate(180deg)}.select-error{display:block;margin-top:var(--space-2);font-size:var(--text-sm);color:var(--error-600)}.select-dropdown{position:absolute;top:calc(100% + 8px);left:0;right:0;z-index:var(--z-dropdown);background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);overflow:hidden;animation:selectSlideIn var(--transition-fast) ease}@keyframes selectSlideIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.select-search{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-primary);background:var(--bg-secondary)}.select-search-icon{color:var(--text-quaternary);flex-shrink:0}.select-search-input{flex:1;border:none;background:transparent;font-family:var(--font-family);font-size:var(--text-sm);color:var(--text-primary);outline:none}.select-search-input::placeholder{color:var(--text-placeholder)}.select-options{max-height:280px;overflow-y:auto;padding:var(--space-2)}.select-option{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-3);border-radius:var(--radius-md);cursor:pointer;transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast),transform var(--transition-fast)}.select-option:hover,.select-option.highlighted{background:var(--bg-secondary)}.select-option.selected{background:var(--primary-50)}.select-option.selected:hover,.select-option.selected.highlighted{background:var(--primary-100)}.select-option-icon{color:var(--text-quaternary);flex-shrink:0}.select-option.selected .select-option-icon{color:var(--primary-600)}.select-option-content{flex:1;min-width:0}.select-option-label{display:block;font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-primary);line-height:1.4}@media (max-width: 640px){.select-option-label{white-space:normal;word-break:break-word}}.select-option.selected .select-option-label{color:var(--primary-700)}.select-option-description{display:block;font-size:var(--text-xs);color:var(--text-tertiary);margin-top:4px;line-height:1.4}@media (max-width: 640px){.select-option-description{white-space:normal;word-break:break-word}}.select-option.selected .select-option-description{color:var(--primary-500)}.select-option-check{color:var(--primary-600);flex-shrink:0}.select-empty{padding:var(--space-6) var(--space-4);text-align:center;font-size:var(--text-sm);color:var(--text-quaternary)}.select-sm .select-trigger{padding:8px 12px}.select-sm .select-value{font-size:var(--text-sm)}.select-lg .select-trigger{padding:12px 16px}@media (max-width: 640px){.select-dropdown{position:fixed;top:auto;bottom:0;left:0;right:0;border-radius:var(--radius-xl) var(--radius-xl) 0 0;max-height:75vh;animation:selectSlideUp var(--transition-normal) ease;z-index:var(--z-modal, 500);padding-bottom:env(safe-area-inset-bottom)}@keyframes selectSlideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.select-options{max-height:calc(75vh - 80px);padding-bottom:var(--space-4)}.select-option{padding:var(--space-4) var(--space-4);min-height:52px}.select-search{padding:var(--space-4)}.select-search-input{height:44px;font-size:var(--text-md);padding:0 var(--space-3);background:var(--bg-primary);border:1px solid var(--border-secondary);border-radius:var(--radius-lg)}.select-trigger{min-height:48px}}.select-backdrop{display:none}@media (max-width: 640px){.select-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:calc(var(--z-modal, 500) - 1);animation:backdropFadeIn var(--transition-fast) ease}@keyframes backdropFadeIn{0%{opacity:0}to{opacity:1}}}.select-mobile-header{display:none}@media (max-width: 640px){.select-mobile-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4);border-bottom:1px solid var(--border-primary);background:var(--bg-primary);position:sticky;top:0;z-index:1}.select-mobile-header h3{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-primary);margin:0}.select-mobile-close{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--bg-tertiary);border:none;border-radius:var(--radius-full);color:var(--text-secondary);cursor:pointer;transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast),transform var(--transition-fast)}.select-mobile-close:hover{background:var(--bg-quaternary, var(--bg-tertiary))}.select-dropdown .select-search{position:sticky;top:0;z-index:1;background:var(--bg-secondary)}}.admin-page{padding:0}.admin-page .page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;gap:16px;flex-wrap:wrap}.admin-page .page-header-content h1,.admin-page .header-left h1{font-size:24px;font-weight:600;color:var(--neutral-900);margin:0 0 4px}.admin-page .page-header-content p,.admin-page .header-left p{font-size:14px;color:var(--neutral-500);margin:0}.header-left{display:flex;align-items:center;gap:16px}.header-left .page-icon{width:48px;height:48px;padding:10px;background:linear-gradient(135deg,var(--primary-100),var(--primary-50));color:var(--primary-600);border-radius:12px;flex-shrink:0}.admin-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px}.admin-stat-card{background:#fff;border-radius:12px;padding:20px;display:flex;align-items:center;gap:16px;box-shadow:0 1px 3px #0000000d;border:1px solid var(--neutral-200)}.admin-stat-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.admin-stat-info{display:flex;flex-direction:column}.admin-stat-value{font-size:24px;font-weight:700;color:var(--neutral-900);line-height:1.2}.admin-stat-label{font-size:13px;color:var(--neutral-500)}.filters-bar{display:flex;gap:12px;margin-bottom:20px;flex-wrap:wrap;align-items:center}.search-box{flex:1;min-width:200px;max-width:320px;position:relative;display:flex;align-items:center}.search-box svg{position:absolute;left:12px;color:var(--neutral-400)}.search-box input{width:100%;padding:10px 12px 10px 40px;border:1px solid var(--neutral-300);border-radius:8px;font-size:14px;transition:color .2s,background-color .2s,border-color .2s,box-shadow .2s,opacity .2s,transform .2s}.search-box input:focus{outline:none;border-color:var(--primary-500);box-shadow:0 0 0 3px var(--primary-100)}.filter-group{display:flex;gap:8px;flex-wrap:wrap}.filter-select{padding:10px 12px;border:1px solid var(--neutral-300);border-radius:8px;font-size:14px;background:#fff;color:var(--neutral-700);cursor:pointer;min-width:140px}.filter-select:focus{outline:none;border-color:var(--primary-500)}.admin-card{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000000d;border:1px solid var(--neutral-200);overflow:hidden}.admin-page .table-container{overflow-x:auto}.admin-table{width:100%;border-collapse:collapse}.admin-table th{background:var(--neutral-50);padding:14px 16px;text-align:left;font-size:12px;font-weight:600;color:var(--neutral-500);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--neutral-200);white-space:nowrap}.admin-table td{padding:16px;border-bottom:1px solid var(--neutral-100);vertical-align:middle}.admin-table tbody tr:hover{background:var(--neutral-50)}.admin-table tbody tr:last-child td{border-bottom:none}.user-cell{display:flex;align-items:center;gap:12px}.user-avatar{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-weight:600;color:#fff;font-size:14px;flex-shrink:0}.user-info{display:flex;flex-direction:column;gap:2px;min-width:0}.user-name{font-weight:600;color:var(--neutral-900);font-size:14px}.user-meta{font-size:12px;color:var(--neutral-500);display:flex;align-items:center;gap:4px}.dept-cell{display:flex;align-items:center;gap:8px;color:var(--neutral-700);font-size:14px}.dept-cell svg{color:var(--neutral-400)}.manager-cell{display:flex;align-items:center;gap:8px}.manager-name{font-size:14px;color:var(--neutral-700)}.manager-avatar{width:28px;height:28px;border-radius:6px;background:var(--neutral-200);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;color:var(--neutral-600)}.role-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:20px;font-size:12px;font-weight:500;background:color-mix(in srgb,var(--role-color, #6B7280) 15%,transparent);color:var(--role-color, #6B7280)}.date-cell{font-size:13px;color:var(--neutral-600)}.actions-cell{display:flex;gap:4px}.action-btn{width:32px;height:32px;border:none;background:transparent;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--neutral-500);transition:color .2s,background-color .2s,border-color .2s,box-shadow .2s,opacity .2s,transform .2s}.action-btn:hover{background:var(--neutral-100);color:var(--neutral-700)}.text-muted{color:var(--neutral-400)}.mobile-cards{display:none;padding:12px;gap:8px;flex-direction:column}.admin-mobile-card{background:#fff;border-radius:var(--radius-lg);padding:16px;border:1px solid var(--neutral-200);box-shadow:var(--shadow-xs)}.admin-mobile-card+.admin-mobile-card{margin-top:8px}.admin-mobile-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:10px}.admin-mobile-card-header>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}.admin-mobile-card-title{font-weight:var(--font-semibold);font-size:var(--text-sm);color:var(--text-primary)}.admin-mobile-card-body{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.admin-mobile-card-row{display:flex;justify-content:space-between;align-items:center;font-size:var(--text-sm);color:var(--text-secondary)}.admin-mobile-card-label{font-size:var(--text-xs);color:var(--text-quaternary);text-transform:uppercase;letter-spacing:.04em;font-weight:var(--font-medium)}.admin-mobile-card-actions{display:flex;gap:8px;padding-top:10px;border-top:1px solid var(--neutral-100)}@media (max-width: 768px){.admin-table .th-hide-mobile,.admin-table .td-hide-mobile{display:none}.admin-page .admin-card>.table-container .desktop-table{display:none}}.user-card-mobile{background:#fff;border-radius:12px;padding:12px;display:flex;align-items:center;gap:10px;box-shadow:0 1px 3px #0000000d;border:1px solid var(--neutral-100)}.user-card-main{flex:1;display:flex;align-items:center;gap:8px;min-width:0;overflow:hidden}.user-card-left{flex:1;min-width:0;overflow:hidden}.user-card-name-row{display:flex;align-items:center;gap:6px;margin-bottom:2px}.user-card-name{font-size:14px;font-weight:600;color:var(--neutral-900);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;max-width:100%}.user-card-name-row .special-badge{width:20px;height:20px;flex-shrink:0}.user-card-name-row .special-badge svg{width:10px;height:10px}.user-card-subtitle{font-size:12px;color:var(--neutral-500);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.status-dot{width:10px;height:10px;min-width:10px;border-radius:50%;flex-shrink:0;margin-left:4px}.status-dot.status-active{background:var(--success-500);box-shadow:0 0 0 3px var(--success-100)}.status-dot.status-inactive{background:var(--neutral-400);box-shadow:0 0 0 3px var(--neutral-100)}.user-card-roles{display:flex;gap:4px;flex-shrink:0}.role-tag{display:inline-flex;align-items:center;gap:3px;padding:3px 6px;background:color-mix(in srgb,var(--tag-color, #6B7280) 12%,transparent);color:var(--tag-color, #6B7280);border-radius:4px;font-size:10px;font-weight:500;white-space:nowrap}.role-tag svg{width:10px;height:10px}.role-tag-empty{background:var(--neutral-100);color:var(--neutral-400)}.user-card-actions{display:flex;gap:4px;flex-shrink:0}.card-action-btn{width:32px;height:32px;border:none;background:var(--neutral-100);border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--neutral-600);transition:color .2s,background-color .2s,border-color .2s,box-shadow .2s,opacity .2s,transform .2s}.card-action-btn:hover{background:var(--neutral-200);color:var(--neutral-800)}.card-action-btn.action-danger{color:var(--error-600)}.card-action-btn.action-danger:hover{background:var(--error-100)}.card-action-btn.action-success{color:var(--success-600)}.card-action-btn.action-success:hover{background:var(--success-100)}.user-card{background:var(--neutral-50);border-radius:12px;overflow:hidden}.user-card-header{display:flex;justify-content:space-between;align-items:center;padding:16px;background:#fff;border-bottom:1px solid var(--neutral-100)}.user-card-body{padding:16px;display:flex;flex-direction:column;gap:10px}.user-card-row{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--neutral-600)}.user-card-row svg{color:var(--neutral-400);flex-shrink:0}.user-card-footer{display:flex;gap:8px;padding:12px 16px;background:#fff;border-top:1px solid var(--neutral-100)}.user-card-footer .btn{flex:1}.admin-page .modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.admin-page .modal-content{background:#fff;border-radius:16px;width:100%;max-height:90vh;overflow:visible;display:flex;flex-direction:column}.admin-page .modal-content.modal-lg{max-height:85vh}.admin-page .modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--neutral-200)}.admin-page .modal-header h2{font-size:18px;font-weight:600;color:var(--neutral-900);margin:0}.admin-page .modal-close{width:36px;height:36px;border:none;background:var(--neutral-100);border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--neutral-500);transition:color .2s,background-color .2s,border-color .2s,box-shadow .2s,opacity .2s,transform .2s}.admin-page .modal-close:hover{background:var(--neutral-200);color:var(--neutral-700)}.admin-page .modal-body{padding:24px;overflow-y:auto;flex:1;min-height:0;max-height:calc(85vh - 140px)}.admin-page .modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid var(--neutral-200);background:var(--neutral-50)}.admin-page .form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.admin-page .form-group{display:flex;flex-direction:column;gap:6px}.admin-page .form-group.full-width{grid-column:span 2}.admin-page .form-label{font-size:13px;font-weight:500;color:var(--neutral-700)}.admin-page .form-input,.admin-page .form-select,.admin-page .form-textarea{padding:10px 12px;border:1px solid var(--neutral-300);border-radius:8px;font-size:14px;transition:border-color .2s ease,box-shadow .2s ease;background:#fff}.admin-page .form-input:focus,.admin-page .form-select:focus,.admin-page .form-textarea:focus{outline:none;border-color:var(--primary-500);box-shadow:0 0 0 3px var(--primary-100)}.admin-page .form-textarea{min-height:80px;resize:vertical}.admin-page .input-with-icon,.input-with-icon{position:relative;display:flex;align-items:center}.admin-page .input-with-icon input,.input-with-icon input{width:100%;padding-right:40px}.admin-page .input-icon-btn,.input-icon-btn{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;padding:4px;cursor:pointer;color:var(--neutral-400);display:flex;align-items:center;justify-content:center}.admin-page .input-icon-btn:hover,.input-icon-btn:hover{color:var(--neutral-600)}.permissions-preview{margin-top:20px;padding:16px;background:var(--neutral-50);border-radius:10px;border:1px solid var(--neutral-200)}.permissions-preview h4{font-size:13px;font-weight:600;color:var(--neutral-700);margin:0 0 12px}.permissions-list{display:flex;flex-wrap:wrap;gap:6px}.permission-tag{padding:4px 10px;background:#fff;border:1px solid var(--neutral-200);border-radius:6px;font-size:11px;color:var(--neutral-600);text-transform:capitalize}.admin-page .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:color .2s,background-color .2s,border-color .2s,box-shadow .2s,opacity .2s,transform .2s;border:none;white-space:nowrap}.admin-page .btn-sm{padding:8px 12px;font-size:13px}.admin-page .btn-primary{background:var(--primary-500);color:#fff}.admin-page .btn-primary:hover{background:var(--primary-600)}.admin-page .btn-secondary{background:var(--neutral-100);color:var(--neutral-700);border:1px solid var(--neutral-200)}.admin-page .btn-secondary:hover{background:var(--neutral-200)}.admin-page .btn-success{background:var(--success-500);color:#fff}.admin-page .btn-success:hover{background:var(--success-600)}.admin-page .btn-danger{background:var(--error-500);color:#fff}.admin-page .btn-danger:hover{background:var(--error-600)}.dept-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:16px}.dept-card{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);border:1px solid var(--neutral-200);padding:20px;display:flex;flex-direction:column;gap:12px;transition:box-shadow .15s ease,border-color .15s ease}.dept-card:hover{box-shadow:var(--shadow-sm);border-color:var(--neutral-300)}.dept-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.dept-card-title-row{display:flex;align-items:center;gap:10px;min-width:0}.dept-card-icon-wrap{width:36px;height:36px;border-radius:var(--radius-md);background:var(--primary-50);color:var(--primary-600);display:flex;align-items:center;justify-content:center;flex-shrink:0}.dept-card-title-group{display:flex;align-items:center;gap:8px;min-width:0;flex-wrap:wrap}.dept-card-name{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dept-card-desc{font-size:var(--text-xs);color:var(--text-secondary);line-height:1.5;margin:0;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.dept-card-meta{display:flex;flex-direction:column;gap:4px}.dept-card-meta-item{display:flex;align-items:center;gap:6px;font-size:var(--text-xs);color:var(--text-tertiary)}.dept-card-meta-item svg{flex-shrink:0;color:var(--neutral-400)}.dept-card-members{padding-top:10px;border-top:1px solid var(--neutral-100)}.dept-card-avatars{display:flex;gap:0}.dept-avatar{width:28px;height:28px;border-radius:50%;background:var(--primary-100);color:var(--primary-700);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;border:2px solid white;margin-left:-6px}.dept-avatar:first-child{margin-left:0}.dept-avatar-more{background:var(--neutral-100);color:var(--neutral-600);font-size:10px}.dept-card-no-members{font-size:var(--text-xs);color:var(--text-quaternary);font-style:italic}.dept-card-actions{display:flex;gap:8px;padding-top:10px;border-top:1px solid var(--neutral-100)}.admin-page .btn-ghost{background:none;border:none;color:var(--primary-600);font-size:var(--text-xs);font-weight:var(--font-medium);cursor:pointer;display:flex;align-items:center;gap:4px;padding:4px 8px;border-radius:var(--radius-sm);transition:background .15s ease}.admin-page .btn-ghost:hover{background:var(--primary-50)}.tree-item-actions{display:flex;gap:4px;align-items:center;flex-shrink:0}.admin-page .page-header-actions{display:flex;gap:8px;align-items:center}.dept-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}.dept-info-item{display:flex;flex-direction:column;gap:4px}.dept-info-label{font-size:12px;color:var(--neutral-500);text-transform:uppercase;letter-spacing:.3px}.dept-info-value{font-size:14px;color:var(--neutral-900);font-weight:500;display:flex;align-items:center;gap:8px}.dept-members{margin-top:16px;padding-top:16px;border-top:1px solid var(--neutral-200)}.dept-members-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.dept-members h4{font-size:13px;font-weight:600;color:var(--neutral-700);margin:0;display:flex;align-items:center;gap:6px}.view-details-link{display:flex;align-items:center;gap:2px;background:none;border:none;color:var(--primary-600);font-size:12px;font-weight:500;cursor:pointer;padding:0}.view-details-link:hover{color:var(--primary-700);text-decoration:underline}.members-simple-list{list-style:none;padding:0;margin:0}.members-simple-list li{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--neutral-100)}.members-simple-list li:last-child{border-bottom:none}.members-simple-list .member-name{font-size:13px;font-weight:500;color:var(--neutral-800)}.members-simple-list .member-position{font-size:12px;color:var(--neutral-500)}.members-simple-list .members-more{justify-content:center;color:var(--neutral-500);font-size:12px;font-style:italic;padding:10px 0 4px;border-bottom:none}.no-members{font-size:13px;color:var(--neutral-400);margin:0}.members-list{display:flex;flex-wrap:wrap;gap:8px}.member-tag{display:flex;align-items:center;gap:8px;padding:6px 12px;background:var(--neutral-100);border-radius:20px;font-size:13px}.member-tag .member-avatar{width:24px;height:24px;border-radius:6px;background:var(--primary-500);color:#fff;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:600}.modal-lg{max-width:700px}.dept-description{font-size:14px;color:var(--neutral-600);margin:0 0 20px;line-height:1.5}.dept-details-section{margin-bottom:24px}.dept-details-section:last-child{margin-bottom:0}.dept-details-section h4{font-size:14px;font-weight:600;color:var(--neutral-800);margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid var(--neutral-200)}.dept-details-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.detail-item{display:flex;flex-direction:column;gap:4px}.detail-label{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--neutral-500)}.detail-value{font-size:14px;color:var(--neutral-900);font-weight:500}.members-full-list{max-height:300px;overflow-y:auto}.members-table{width:100%;border-collapse:collapse}.members-table th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--neutral-500);padding:8px 12px;background:var(--neutral-50);border-bottom:1px solid var(--neutral-200)}.members-table td{padding:10px 12px;font-size:13px;color:var(--neutral-700);border-bottom:1px solid var(--neutral-100)}.members-table tbody tr:hover{background:var(--neutral-50)}.member-name-cell{font-weight:500;color:var(--neutral-900)}.dept-info-compact{grid-template-columns:repeat(3,1fr)}.multi-select-container{display:flex;flex-direction:column;gap:8px;max-height:200px;overflow-y:auto;padding:12px;background:var(--neutral-50);border:1px solid var(--neutral-200);border-radius:8px}.checkbox-item{display:flex;align-items:flex-start;gap:10px;cursor:pointer;padding:8px 10px;border-radius:6px;transition:background .15s}.checkbox-item:hover{background:var(--neutral-100)}.checkbox-item input[type=checkbox]{width:16px;height:16px;margin-top:2px;accent-color:var(--primary-500);cursor:pointer}.checkbox-label{display:flex;flex-direction:column;gap:2px;font-size:14px;color:var(--neutral-800)}.checkbox-sublabel{font-size:12px;color:var(--neutral-500)}.no-managers-msg{font-size:13px;color:var(--neutral-500);text-align:center;padding:8px;margin:0}.dept-tree{padding:20px}.tree-node{margin-left:24px;border-left:2px solid var(--neutral-200);padding-left:20px;position:relative}.tree-node:before{content:"";position:absolute;left:-2px;top:20px;width:20px;height:2px;background:var(--neutral-200)}.tree-node:first-child{margin-left:0;border-left:none;padding-left:0}.tree-node:first-child:before{display:none}.tree-item{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#fff;border:1px solid var(--neutral-200);border-radius:10px;margin-bottom:12px}.tree-item-icon{width:36px;height:36px;border-radius:8px;background:var(--primary-100);color:var(--primary-600);display:flex;align-items:center;justify-content:center}.tree-item-info{flex:1}.tree-item-name{font-weight:600;color:var(--neutral-900);font-size:14px}.tree-item-meta{font-size:12px;color:var(--neutral-500);display:flex;align-items:center;gap:12px}.admin-page .empty-state{text-align:center;padding:60px 20px}.admin-page .empty-state-icon{width:64px;height:64px;margin:0 auto 16px;background:var(--neutral-100);border-radius:16px;display:flex;align-items:center;justify-content:center;color:var(--neutral-400)}.admin-page .empty-state h3{font-size:16px;font-weight:600;color:var(--neutral-900);margin:0 0 8px}.admin-page .empty-state p{font-size:14px;color:var(--neutral-500);margin:0}.view-toggle{display:flex;background:var(--neutral-100);border-radius:8px;padding:4px}.view-toggle-btn{padding:8px 12px;border:none;background:transparent;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--neutral-500);transition:color .2s,background-color .2s,border-color .2s,box-shadow .2s,opacity .2s,transform .2s}.view-toggle-btn.active{background:#fff;color:var(--primary-600);box-shadow:0 1px 2px #0000001a}@media (max-width: 768px){.admin-page .page-header{flex-direction:column;align-items:stretch}.admin-page .page-header .btn{width:100%}.admin-page .admin-stats{grid-template-columns:repeat(2,1fr)}.admin-page .filters-bar{flex-direction:column;gap:8px}.admin-page .search-box{max-width:none;width:100%}.admin-page .filter-group{width:100%}.admin-page .filter-select{width:100%;min-width:auto}.admin-page .filters-bar .btn{width:100%;justify-content:center}.admin-page .table-container{display:none}.admin-page .mobile-cards{display:flex;flex-direction:column}.admin-page .form-grid{grid-template-columns:1fr}.admin-page .form-group.full-width{grid-column:span 1}.admin-page .modal-content{max-height:100vh;border-radius:0;height:100%}.admin-page .modal-content.modal-lg{max-height:100vh}.admin-page .modal-body{max-height:calc(100vh - 140px)}.admin-page .modal-overlay{padding:0}.admin-page .dept-info-grid{grid-template-columns:1fr}}@media (max-width: 480px){.admin-stats{grid-template-columns:1fr}.admin-stat-card{padding:16px}.admin-stat-value{font-size:20px}}.role-cell{display:flex;align-items:center;gap:8px}.super-admin-badge{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;background:linear-gradient(135deg,#f59e0b,#d97706);border-radius:50%;color:#fff;box-shadow:0 2px 4px #f59e0b4d}.access-badges-cell{display:flex;flex-direction:row;align-items:center;gap:6px;flex-wrap:wrap}.special-badges-row{display:flex;flex-direction:row;align-items:center;gap:6px;margin-top:8px;flex-wrap:wrap}.special-badge{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;cursor:help;position:relative;transition:color .2s ease,background-color .2s ease,border-color .2s ease,box-shadow .2s ease,opacity .2s ease,transform .2s ease}.special-badge .badge-label{display:none}.special-badge.executive-badge{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;box-shadow:0 2px 4px #6366f14d}.special-badge.executive-badge:hover{transform:scale(1.1);box-shadow:0 4px 12px #6366f166}.special-badge.super-admin-badge{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;box-shadow:0 2px 4px #f59e0b4d}.special-badge.super-admin-badge:hover{transform:scale(1.1);box-shadow:0 4px 12px #f59e0b66}.special-badge:after{content:attr(data-tooltip);position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);background:var(--neutral-900);color:#fff;padding:8px 12px;border-radius:8px;font-size:11px;font-weight:400;text-transform:none;letter-spacing:normal;line-height:1.4;white-space:normal;width:max-content;max-width:220px;z-index:1000;opacity:0;visibility:hidden;transition:color .2s ease,background-color .2s ease,border-color .2s ease,box-shadow .2s ease,opacity .2s ease,transform .2s ease;box-shadow:0 4px 12px #00000026;pointer-events:none}.special-badge:before{content:"";position:absolute;top:calc(100% + 2px);left:50%;transform:translate(-50%);border:6px solid transparent;border-bottom-color:var(--neutral-900);z-index:1001;opacity:0;visibility:hidden;transition:color .2s ease,background-color .2s ease,border-color .2s ease,box-shadow .2s ease,opacity .2s ease,transform .2s ease}.special-badge:hover:after,.special-badge:hover:before{opacity:1;visibility:visible}.executive-icon{color:var(--primary-500)}.form-section{margin-top:24px;padding-top:24px;border-top:1px solid var(--neutral-200)}.form-section-title{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:600;color:var(--neutral-800);margin:0 0 20px}.form-section-title svg{color:var(--primary-500)}.super-admin-toggle-container{background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #F59E0B;border-radius:12px;padding:16px;margin-bottom:12px}.permission-toggle-container{background:var(--neutral-50, #F9FAFB);border:1px solid var(--neutral-200, #E5E7EB);border-radius:12px;padding:14px 16px;margin-bottom:12px}.permission-toggle-container.permission-executive{background:linear-gradient(135deg,#eff6ff,#dbeafe);border-color:#93c5fd}.permission-toggle-container.permission-executive .toggle-checkbox:checked+.toggle-switch{background:linear-gradient(135deg,#3b82f6,#2563eb)}.permission-toggle-container.permission-executive .toggle-checkbox:focus+.toggle-switch{box-shadow:0 0 0 3px #3b82f64d}.permission-toggle-container .toggle-checkbox:checked+.toggle-switch{background:linear-gradient(135deg,#10b981,#059669)}.permission-toggle-container .toggle-checkbox:focus+.toggle-switch{box-shadow:0 0 0 3px #10b9814d}.data-access-label{font-size:12px;font-weight:600;color:var(--neutral-500);text-transform:uppercase;letter-spacing:.5px;margin:16px 0 8px}.toggle-label{display:flex;align-items:center;justify-content:space-between;cursor:pointer;gap:16px}.toggle-info{display:flex;align-items:flex-start;gap:12px}.toggle-icon{flex-shrink:0;margin-top:2px}.toggle-icon.super-admin-icon{color:#d97706}.toggle-icon.executive-icon{color:#2563eb}.toggle-title{display:block;font-size:14px;font-weight:600;color:var(--neutral-900);margin-bottom:2px}.toggle-description{display:block;font-size:12px;color:var(--neutral-600);line-height:1.4}.toggle-switch-wrapper{position:relative;flex-shrink:0}.toggle-checkbox{position:absolute;opacity:0;width:0;height:0}.toggle-switch{display:block;width:48px;height:26px;background:var(--neutral-300);border-radius:13px;position:relative;transition:background-color .3s ease;cursor:pointer}.toggle-switch:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;background:#fff;border-radius:50%;box-shadow:0 2px 4px #0003;transition:transform .3s ease}.toggle-checkbox:checked+.toggle-switch{background:linear-gradient(135deg,#f59e0b,#d97706)}.toggle-checkbox:checked+.toggle-switch:after{transform:translate(22px)}.toggle-checkbox:focus+.toggle-switch{box-shadow:0 0 0 3px #f59e0b4d}.functional-roles-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.form-group-full{grid-column:span 2}.form-hint{font-size:11px;color:var(--neutral-500);margin-top:4px}@media (max-width: 768px){.functional-roles-grid{grid-template-columns:1fr}.form-group-full{grid-column:span 1}.toggle-label{flex-direction:column;align-items:flex-start;gap:12px}.toggle-switch-wrapper{align-self:flex-end}}.custom-role-section{margin-top:20px;padding:16px;background:linear-gradient(135deg,#f0f9ff,#f5f3ff);border:1px solid #e0e7ff;border-radius:12px}.custom-role-title{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:#4338ca;margin:0 0 8px}.custom-role-description{font-size:13px;color:var(--neutral-600);margin:0 0 12px;line-height:1.5}.custom-role-select{width:100%}.custom-role-preview{margin-top:12px;padding:12px;background:#fff;border-radius:8px;display:flex;align-items:center;gap:12px;border:1px solid var(--neutral-200)}.custom-role-color-indicator{width:40px;height:40px;border-radius:10px;flex-shrink:0}.custom-role-info{display:flex;flex-direction:column}.custom-role-name{font-weight:600;font-size:14px;color:var(--neutral-900)}.custom-role-perms{font-size:12px;color:var(--neutral-500)}.custom-role-badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;padding:3px 8px}.role-cell{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.custom-role-assignment{margin-top:16px;padding:14px 16px;background:var(--neutral-50);border:1px solid var(--neutral-200);border-radius:10px}.custom-role-header{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--neutral-700);margin-bottom:10px}.custom-role-header svg{color:#6366f1}.custom-role-body{display:flex;gap:12px;align-items:center}.custom-role-body .form-select{flex:1;max-width:280px}.custom-role-badge-preview{display:flex;align-items:center;gap:8px;padding:6px 12px;background:#fff;border:1px solid var(--neutral-200);border-radius:6px}.custom-role-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.custom-role-badge-name{font-size:13px;font-weight:500;color:var(--neutral-800)}.custom-role-badge-perms{font-size:11px;color:var(--neutral-500);padding:2px 6px;background:var(--neutral-100);border-radius:4px}.custom-role-hint{margin:8px 0 0;font-size:11px;color:var(--neutral-500)}@media (max-width: 640px){.custom-role-body{flex-direction:column;align-items:stretch}.custom-role-body .form-select{max-width:100%}}.auth-badge{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;background:var(--success-100);color:var(--success-600);border-radius:50%;margin-left:8px}.dept-auth-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--neutral-100)}.auth-tag{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:16px;font-size:12px;font-weight:500}.auth-tag svg{flex-shrink:0}.auth-tag-ap{background:var(--primary-50);color:var(--primary-700);border:1px solid var(--primary-200)}.auth-tag-ar{background:var(--success-50);color:var(--success-700);border:1px solid var(--success-200)}.form-section-header{display:flex;align-items:center;gap:8px;font-weight:600;font-size:14px;color:var(--neutral-800);padding-bottom:8px;border-bottom:1px solid var(--neutral-200);margin-bottom:8px}.form-section-header svg{color:var(--primary-500)}.form-help-text{font-size:13px;color:var(--neutral-500);margin:0;line-height:1.5}.toggle-container{display:flex;align-items:center;gap:12px}.toggle-label{font-size:13px;color:var(--neutral-600)}.auth-info-note{display:flex;align-items:flex-start;gap:8px;margin-top:12px;padding:10px 12px;background:var(--info-50);border:1px solid var(--info-200);border-radius:8px;font-size:12px;color:var(--info-700);line-height:1.5}.auth-info-note svg{flex-shrink:0;margin-top:2px}.dept-auth-panel{margin-top:16px;border:1px solid var(--border-primary);border-radius:var(--radius-lg);overflow:hidden}.dept-auth-panel-header{display:flex;align-items:center;gap:7px;padding:10px 14px;background:var(--bg-secondary);border-bottom:1px solid var(--border-primary);font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.dept-auth-panel-header svg{color:var(--text-tertiary)}.dept-auth-row{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;gap:16px}.dept-auth-row+.dept-auth-row{border-top:1px solid var(--border-primary)}.dept-auth-row-info{display:flex;align-items:center;gap:12px;min-width:0}.dept-auth-row-icon{width:32px;height:32px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}.dept-auth-row-icon-ap{background:var(--primary-50);color:var(--primary-600)}.dept-auth-row-icon-ar{background:var(--success-50);color:var(--success-600)}.dept-auth-row-title{font-size:13px;font-weight:500;color:var(--text-primary);line-height:1.3}.dept-auth-row-desc{font-size:12px;color:var(--text-tertiary);margin-top:2px}.database-permissions-section{margin-top:16px;padding-top:16px;border-top:1px dashed var(--neutral-200)}.permissions-subtitle{font-size:13px;font-weight:600;color:var(--neutral-600);margin:0 0 12px;text-transform:uppercase;letter-spacing:.5px}.permission-auto-note{display:block;font-size:11px;color:var(--neutral-400);margin-top:4px;margin-left:38px;font-style:italic}.bank-invoice-info{display:flex;align-items:center;gap:10px;padding:12px 16px;background:var(--info-50);border:1px solid var(--info-200);border-radius:10px;margin-bottom:20px;font-size:13px;color:var(--info-700);line-height:1.5}.bank-invoice-info svg{flex-shrink:0;color:var(--info-500)}.bank-default-warning{display:flex;align-items:center;gap:8px;margin-top:8px;padding:10px 12px;background:var(--warning-50);border:1px solid var(--warning-200);border-radius:8px;font-size:12px;color:var(--warning-700);line-height:1.5}.bank-default-warning svg{flex-shrink:0;color:var(--warning-500)}.admin-card-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--neutral-200)}.admin-card-header h2{font-size:16px;font-weight:600;color:var(--neutral-900);margin:0;display:flex;align-items:center}.privilege-groups-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:0}.privilege-group-card{background:var(--pg-gradient, var(--neutral-50));border:1px solid var(--pg-border, var(--neutral-200));border-radius:14px;padding:0;overflow:hidden;transition:box-shadow .2s ease,transform .15s ease}.privilege-group-card:hover{box-shadow:0 4px 20px #0000000f;transform:translateY(-1px)}.privilege-group-header{display:flex;align-items:flex-start;justify-content:space-between;padding:16px 18px 12px}.privilege-group-title-row{display:flex;align-items:center;gap:10px}.privilege-group-icon-wrap{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:10px;color:#fff;flex-shrink:0}.privilege-group-title{display:block;font-size:15px;font-weight:700;color:var(--neutral-900)}.privilege-group-subtitle{display:block;font-size:11px;color:var(--neutral-500);margin-top:1px}.privilege-group-count{display:flex;align-items:center;justify-content:center;min-width:28px;height:28px;border-radius:14px;background:#fff;border:1px solid var(--pg-border, var(--neutral-200));font-size:14px;font-weight:700;color:var(--pg-color, var(--neutral-700));box-shadow:0 1px 3px #0000000f;padding:0 8px}.privilege-group-grants{display:flex;flex-wrap:wrap;gap:5px;padding:0 18px 12px}.privilege-grant-tag{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:500;color:var(--pg-color, var(--neutral-600));background:#ffffffb3;padding:3px 8px;border-radius:6px;border:1px solid rgba(0,0,0,.06)}.privilege-grant-tag svg{flex-shrink:0;opacity:.7}.privilege-group-members{padding:10px 18px 14px;border-top:1px solid rgba(0,0,0,.06);background:#ffffff80}.privilege-member{display:flex;align-items:center;justify-content:space-between;padding:5px 0;border-bottom:1px solid rgba(0,0,0,.04)}.privilege-member:last-of-type{border-bottom:none}.privilege-member-name{font-size:13px;font-weight:500;color:var(--neutral-800)}.privilege-member-meta{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:var(--neutral-500)}.privilege-members-toggle{display:inline-flex;align-items:center;gap:4px;background:none;border:none;color:var(--pg-color, var(--primary-500));font-size:12px;font-weight:500;cursor:pointer;padding:6px 0 2px;transition:opacity .15s}.privilege-members-toggle:hover{opacity:.7}.privilege-group-empty{padding:12px 18px 16px;font-size:12px;color:var(--neutral-400);border-top:1px solid rgba(0,0,0,.04);font-style:italic}.capabilities-subtitle{font-size:13px;color:var(--neutral-500);font-weight:400}.capabilities-table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}.capabilities-matrix{width:100%;border-collapse:collapse;font-size:13px}.capabilities-matrix thead tr{background:var(--neutral-50)}.capabilities-matrix th{padding:10px 12px;font-weight:600;text-align:center;white-space:nowrap;border-bottom:2px solid var(--neutral-200)}.cap-header-capability{text-align:left!important;min-width:200px;position:sticky;left:0;background:var(--neutral-50);z-index:2}.cap-header-role{min-width:80px}.cap-role-label{display:block;font-size:12px;font-weight:700;color:var(--cap-role-color, var(--neutral-700))}.cap-role-module{display:block;font-size:10px;font-weight:400;color:var(--neutral-400);text-transform:uppercase;letter-spacing:.5px;margin-top:1px}.capabilities-matrix tbody tr{border-bottom:1px solid var(--neutral-100);transition:background-color .1s}.capabilities-matrix tbody tr:hover{background:var(--neutral-50)}.cap-cell-name{text-align:left;padding:10px 12px;font-weight:500;color:var(--neutral-700);white-space:nowrap;display:flex;align-items:center;gap:8px;position:sticky;left:0;background:#fff;z-index:1}.capabilities-matrix tbody tr:hover .cap-cell-name{background:var(--neutral-50)}.cap-category-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.cap-category-dot[data-category=AP]{background:#f59e0b}.cap-category-dot[data-category=AR]{background:#10b981}.cap-category-dot[data-category="AP/AR"]{background:linear-gradient(135deg,#f59e0b 50%,#10b981 50%)}.cap-category-dot[data-category=Data]{background:#3b82f6}.cap-category-dot[data-category=Admin]{background:#ef4444}.cap-category-dot[data-category=General]{background:#6b7280}.cap-cell-value{text-align:center;padding:10px 6px}.cap-check{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--success-100);color:var(--success-600)}.cap-check.cap-auto{background:linear-gradient(135deg,#fef3c7,#ecfdf5);color:#059669;border:1px dashed #6EE7B7;position:relative;cursor:help}.cap-dash{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;color:var(--neutral-300)}.capabilities-footnote{display:flex;align-items:center;gap:8px;padding:12px 20px;font-size:12px;color:var(--neutral-500);border-top:1px solid var(--neutral-100)}.cap-footnote-icon{width:20px!important;height:20px!important;flex-shrink:0}.privileges-dept-auth-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding:20px}.privileges-dept-auth-title{font-size:14px;font-weight:600;color:var(--neutral-700);margin:0 0 12px;display:flex;align-items:center;gap:8px}.privileges-dept-auth-empty{font-size:13px;color:var(--neutral-400);margin:0;padding:12px 0}.privileges-dept-card{background:var(--neutral-50);border:1px solid var(--neutral-200);border-radius:var(--radius-md);padding:12px 16px;margin-bottom:10px}.privileges-dept-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.privileges-dept-card-name{font-size:14px;font-weight:600;color:var(--neutral-800)}.privileges-dept-card-count{font-size:12px;color:var(--neutral-500)}.privileges-dept-card-members{display:flex;flex-wrap:wrap;gap:6px}.privileges-dept-member{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--neutral-700);background:#fff;padding:3px 8px;border-radius:var(--radius-sm);border:1px solid var(--neutral-200)}.privileges-dept-member-role{font-size:10px;color:var(--neutral-500);text-transform:uppercase;letter-spacing:.3px}@media (max-width: 900px){.privilege-groups-grid{grid-template-columns:1fr}}@media (max-width: 640px){.privileges-dept-auth-grid{grid-template-columns:1fr;gap:16px;padding:12px}.cap-header-capability{min-width:140px}.cap-header-role{min-width:60px}}.pagination-bar{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1rem;border-top:1px solid var(--neutral-200);background:var(--neutral-50);flex-wrap:wrap}.pagination-info{font-size:.875rem;color:var(--neutral-600)}.pagination-controls{display:flex;align-items:center;gap:.25rem;flex-wrap:wrap}.pagination-controls .filter-select{margin-right:.5rem}.pagination-ellipsis{color:var(--neutral-400);padding:0 .25rem}.action-btn:disabled{opacity:.4;cursor:not-allowed}.audit-diff{border:1px solid var(--neutral-200);border-radius:var(--radius-md);overflow:hidden}.audit-diff-header{display:grid;grid-template-columns:1fr 1fr;padding:8px 12px 8px 132px;background:var(--neutral-50);border-bottom:1px solid var(--neutral-200);gap:24px}.audit-diff-label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.audit-diff-label-old{color:var(--error-600)}.audit-diff-label-new{color:var(--success-600)}.audit-diff-rows{padding:4px 0}.audit-diff-row{display:flex;align-items:flex-start;padding:8px 12px;gap:12px;transition:background .15s ease}.audit-diff-row:hover{background:var(--neutral-50)}.audit-diff-field{width:120px;flex-shrink:0;font-size:13px;font-weight:500;color:var(--neutral-600);padding-top:2px}.audit-diff-values{flex:1;display:grid;grid-template-columns:1fr auto 1fr;gap:8px;align-items:flex-start;min-width:0}.audit-diff-arrow{color:var(--neutral-400);margin-top:3px;flex-shrink:0}.audit-diff-value{font-size:13px;font-family:SF Mono,Monaco,Cascadia Code,monospace;padding:4px 8px;border-radius:var(--radius-sm);word-break:break-word;white-space:pre-wrap;min-width:0}.audit-diff-old{background:var(--error-50);color:var(--neutral-800)}.audit-diff-new{background:var(--success-50);color:var(--neutral-800)}.audit-diff-removed{background:var(--error-100);color:var(--error-700);text-decoration:line-through}.audit-diff-added{background:var(--success-100);color:var(--success-700)}.audit-diff-changed .audit-diff-old,.audit-diff-changed .audit-diff-new{font-weight:500}@media (max-width: 640px){.audit-diff-header{padding-left:12px;grid-template-columns:1fr 1fr}.audit-diff-row{flex-direction:column;gap:4px}.audit-diff-field{width:auto}.audit-diff-values{grid-template-columns:1fr;gap:4px}.audit-diff-arrow{display:none}}.audit-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1100;padding:20px;animation:auditModalFadeIn .2s ease}.audit-modal-dialog{background:#fff;border-radius:var(--radius-xl);max-width:640px;width:100%;max-height:85vh;overflow:auto;animation:auditModalSlideIn .25s ease}.audit-modal-header{padding:24px 24px 16px;border-bottom:1px solid var(--neutral-200);display:flex;justify-content:space-between;align-items:flex-start;position:sticky;top:0;background:#fff;z-index:1;border-radius:var(--radius-xl) var(--radius-xl) 0 0}.audit-modal-title{margin:0 0 4px;font-size:20px;font-weight:600;color:var(--neutral-900)}.audit-modal-timestamp{margin:0;font-size:14px;color:var(--neutral-500)}.audit-modal-close{width:36px;height:36px;border:1px solid var(--neutral-200);border-radius:var(--radius-md);background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--neutral-500);flex-shrink:0;transition:background .15s ease,border-color .15s ease}.audit-modal-close:hover{background:var(--neutral-50);border-color:var(--neutral-300)}.audit-modal-body{padding:24px}.audit-modal-badges{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap}.audit-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:var(--radius-md);font-size:13px;font-weight:600}.audit-badge-error{background:var(--error-50);color:var(--error-600)}.audit-badge-warning{background:var(--warning-50);color:var(--warning-700)}.audit-badge-success{background:var(--success-50);color:var(--success-600)}.audit-badge-info{background:var(--info-50, var(--primary-50));color:var(--info-600, var(--primary-600))}.audit-badge-primary{background:var(--primary-50);color:var(--primary-600)}.audit-badge-secondary{background:var(--neutral-100);color:var(--neutral-600)}.audit-modal-user{display:flex;align-items:center;gap:12px;background:var(--neutral-50);border-radius:var(--radius-lg);padding:16px;margin-bottom:16px}.audit-modal-avatar{width:44px;height:44px;border-radius:50%;background:var(--primary-500);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:16px;flex-shrink:0}.audit-modal-user-name{font-weight:600;color:var(--neutral-900)}.audit-modal-user-email{font-size:14px;color:var(--neutral-500)}.audit-modal-ip{font-size:13px;color:var(--neutral-500);margin-bottom:20px;padding-top:4px}.audit-modal-ip code{font-family:SF Mono,Monaco,Cascadia Code,monospace;background:var(--neutral-100);padding:2px 6px;border-radius:4px;font-size:12px}.audit-modal-section{margin-bottom:20px}.audit-modal-section:last-child{margin-bottom:0}.audit-modal-section-title{margin:0 0 8px;font-size:12px;font-weight:600;color:var(--neutral-500);text-transform:uppercase;letter-spacing:.5px}.audit-modal-description{margin:0;font-size:15px;line-height:1.6;color:var(--neutral-800)}.audit-modal-entity{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.audit-modal-entity-ref{padding:6px 12px;background:var(--primary-50);color:var(--primary-700);border-radius:var(--radius-sm);font-weight:600;font-size:14px}.audit-modal-entity-type{padding:4px 10px;background:var(--neutral-100);color:var(--neutral-600);border-radius:var(--radius-sm);font-size:13px}.audit-modal-entity-id{padding:4px 10px;background:var(--neutral-100);border-radius:var(--radius-sm);font-family:SF Mono,Monaco,Cascadia Code,monospace;font-size:13px}.audit-modal-changed-fields{display:flex;gap:8px;flex-wrap:wrap}.audit-modal-field-badge{padding:4px 10px;background:var(--primary-50);color:var(--primary-700);border-radius:var(--radius-sm);font-size:13px}.audit-modal-metadata{background:var(--neutral-50);border-radius:var(--radius-md);padding:12px;margin:0;font-size:13px;font-family:SF Mono,Monaco,Cascadia Code,monospace;overflow:auto;max-height:200px;color:var(--neutral-700)}.audit-modal-checksum{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--success-600)}.audit-modal-checksum code{color:var(--neutral-500);font-family:SF Mono,Monaco,Cascadia Code,monospace;font-size:12px}@keyframes auditModalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes auditModalSlideIn{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width: 640px){.audit-modal-overlay{padding:0;align-items:flex-end}.audit-modal-dialog{border-radius:16px 16px 0 0;max-height:90vh;animation:auditModalSlideUp .3s ease}.audit-modal-header{border-radius:16px 16px 0 0}}@keyframes auditModalSlideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.audit-feed{display:flex;flex-direction:column;gap:8px}.audit-feed-item{background:#fff;border:1px solid var(--neutral-200);border-radius:var(--radius-lg);border-left:3px solid var(--neutral-300);overflow:hidden;transition:border-color .15s ease,box-shadow .15s ease}.audit-feed-item:hover{box-shadow:0 2px 8px #0000000f}.audit-feed-tier-error{border-left-color:var(--error-400)}.audit-feed-tier-warning{border-left-color:var(--warning-400)}.audit-feed-tier-info{border-left-color:var(--primary-300)}.audit-feed-item-header{display:flex;gap:12px;padding:14px 16px;cursor:pointer;transition:background .15s ease}.audit-feed-item-header:hover{background:var(--neutral-50)}.audit-feed-icon{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.audit-feed-icon-success{background:var(--success-100);color:var(--success-600)}.audit-feed-icon-error{background:var(--error-100);color:var(--error-600)}.audit-feed-icon-warning{background:var(--warning-100);color:var(--warning-700)}.audit-feed-icon-info,.audit-feed-icon-primary{background:var(--primary-100);color:var(--primary-600)}.audit-feed-icon-secondary{background:var(--neutral-100);color:var(--neutral-600)}.audit-feed-content{flex:1;min-width:0}.audit-feed-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:4px}.audit-feed-description{font-size:14px;font-weight:500;color:var(--neutral-800);line-height:1.4}.audit-feed-time{font-size:12px;color:var(--neutral-400);white-space:nowrap;flex-shrink:0}.audit-feed-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.audit-feed-user{font-size:13px;color:var(--neutral-500)}.audit-feed-module{font-size:11px;font-weight:600;padding:2px 8px;border-radius:var(--radius-full)}.audit-feed-module-error{background:var(--error-50);color:var(--error-600)}.audit-feed-module-success{background:var(--success-50);color:var(--success-600)}.audit-feed-module-primary,.audit-feed-module-info{background:var(--primary-50);color:var(--primary-600)}.audit-feed-module-secondary{background:var(--neutral-100);color:var(--neutral-500)}.audit-feed-entity-ref{font-size:12px;font-family:SF Mono,Monaco,Cascadia Code,monospace;padding:2px 6px;background:var(--neutral-100);border-radius:4px;color:var(--neutral-600)}.audit-feed-expand{display:flex;align-items:center;gap:6px;width:100%;padding:8px 16px;border:none;border-top:1px solid var(--neutral-100);background:var(--neutral-50);font-size:12px;font-weight:500;color:var(--neutral-500);cursor:pointer;transition:background .15s ease,color .15s ease}.audit-feed-expand:hover{background:var(--neutral-100);color:var(--neutral-700)}.audit-feed-diff{padding:12px 16px 16px;border-top:1px solid var(--neutral-100)}.audit-feed-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:var(--neutral-400);text-align:center}.audit-feed-empty h3{margin:16px 0 4px;font-size:16px;color:var(--neutral-500)}.audit-feed-empty p{margin:0;font-size:14px;color:var(--neutral-400)}@media (max-width: 640px){.audit-feed-top{flex-direction:column;gap:4px}.audit-feed-time{font-size:11px}}.audit-tier-pills{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}.audit-tier-pill{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border:1px solid var(--neutral-200);border-radius:var(--radius-full);background:#fff;font-size:13px;font-weight:500;color:var(--neutral-600);cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.audit-tier-pill:hover{background:var(--neutral-50);border-color:var(--neutral-300)}.audit-tier-pill.active{border-color:var(--primary-400);background:var(--primary-50);color:var(--primary-700);font-weight:600}.audit-tier-pill.active-error{border-color:var(--error-300);background:var(--error-50);color:var(--error-700)}.audit-tier-pill.active-warning{border-color:var(--warning-300);background:var(--warning-50);color:var(--warning-700)}.audit-tier-pill.active-info{border-color:var(--primary-300);background:var(--primary-50);color:var(--primary-700)}.audit-tier-pill-count{font-size:11px;padding:1px 6px;border-radius:var(--radius-full);background:var(--neutral-100);color:var(--neutral-500);font-weight:600}.audit-tier-pill.active .audit-tier-pill-count,.audit-tier-pill.active-error .audit-tier-pill-count,.audit-tier-pill.active-warning .audit-tier-pill-count,.audit-tier-pill.active-info .audit-tier-pill-count{background:#0000001a;color:inherit}.audit-integrity-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:var(--radius-md);font-size:13px;font-weight:500;cursor:pointer;transition:background .15s ease}.audit-integrity-badge-ok{background:var(--success-50);color:var(--success-600)}.audit-integrity-badge-ok:hover{background:var(--success-100)}.audit-integrity-badge-warn{background:var(--warning-50);color:var(--warning-700)}.audit-integrity-badge-loading{background:var(--neutral-50);color:var(--neutral-500)}.audit-view-toggle{display:flex;border:1px solid var(--neutral-200);border-radius:var(--radius-md);overflow:hidden}.audit-view-toggle-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;border:none;background:#fff;font-size:13px;font-weight:500;color:var(--neutral-500);cursor:pointer;transition:background .15s ease,color .15s ease}.audit-view-toggle-btn:not(:last-child){border-right:1px solid var(--neutral-200)}.audit-view-toggle-btn:hover{background:var(--neutral-50)}.audit-view-toggle-btn.active{background:var(--primary-50);color:var(--primary-700)}.audit-filters{background:#fff;padding:16px 20px;border-radius:var(--radius-lg);border:1px solid var(--neutral-200);margin-bottom:20px;display:flex;gap:12px;flex-wrap:wrap;align-items:center}.audit-search{flex:1;min-width:200px;max-width:300px;position:relative}.audit-search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--neutral-400);pointer-events:none}.audit-search input{width:100%;padding:10px 12px 10px 40px;border:1px solid var(--neutral-200);border-radius:var(--radius-md);font-size:14px;color:var(--neutral-800);background:#fff;transition:border-color .15s ease}.audit-search input:focus{outline:none;border-color:var(--primary-400)}.audit-search input::placeholder{color:var(--neutral-400)}.audit-select{padding:10px 12px;border:1px solid var(--neutral-200);border-radius:var(--radius-md);font-size:14px;background:#fff;color:var(--neutral-700);cursor:pointer;transition:border-color .15s ease}.audit-select:focus{outline:none;border-color:var(--primary-400)}.audit-date-range{display:flex;align-items:center;gap:8px}.audit-date-range input{padding:10px 12px;border:1px solid var(--neutral-200);border-radius:var(--radius-md);font-size:14px;color:var(--neutral-700);transition:border-color .15s ease}.audit-date-range input:focus{outline:none;border-color:var(--primary-400)}.audit-date-separator{color:var(--neutral-400);font-size:13px}.audit-clear-btn{display:flex;align-items:center;gap:6px;padding:10px 16px;border:none;background:var(--error-50);color:var(--error-600);border-radius:var(--radius-md);cursor:pointer;font-size:14px;font-weight:500;transition:background .15s ease}.audit-clear-btn:hover{background:var(--error-100)}.audit-error{background:var(--error-50);border:1px solid var(--error-200);border-radius:var(--radius-lg);padding:16px 20px;margin-bottom:20px;display:flex;align-items:center;gap:12px;color:var(--error-600)}.audit-error-retry{margin-left:auto;padding:6px 12px;border:1px solid var(--error-300);border-radius:var(--radius-sm);background:#fff;color:var(--error-600);cursor:pointer;font-size:13px;transition:background .15s ease}.audit-error-retry:hover{background:var(--error-50)}.audit-table-container{background:#fff;border-radius:var(--radius-lg);border:1px solid var(--neutral-200);overflow:hidden}.audit-table{width:100%;border-collapse:collapse}.audit-table thead tr{background:var(--neutral-50);border-bottom:1px solid var(--neutral-200)}.audit-table th{padding:14px 16px;text-align:left;font-size:13px;font-weight:600;color:var(--neutral-500)}.audit-table th:last-child{text-align:center}.audit-table tbody tr{border-bottom:1px solid var(--neutral-100);transition:background .15s ease}.audit-table tbody tr:last-child{border-bottom:none}.audit-table tbody tr:hover{background:var(--neutral-50)}.audit-table td{padding:14px 16px;font-size:14px}.audit-table td:last-child{text-align:center}.audit-cell-timestamp{display:flex;align-items:center;gap:8px}.audit-cell-timestamp-icon{color:var(--neutral-400)}.audit-cell-date{font-weight:500;color:var(--neutral-800)}.audit-cell-time{font-size:12px;color:var(--neutral-500)}.audit-cell-user-name{font-weight:500;color:var(--neutral-800)}.audit-cell-user-email{font-size:12px;color:var(--neutral-500)}.audit-tier-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:var(--radius-sm);font-size:11px;font-weight:600}.audit-tier-badge-error{background:var(--error-50);color:var(--error-600)}.audit-tier-badge-warning{background:var(--warning-50);color:var(--warning-700)}.audit-tier-badge-info{background:var(--primary-50);color:var(--primary-600)}.audit-module-badge{display:inline-block;padding:4px 10px;border-radius:var(--radius-sm);font-size:12px;font-weight:600}.audit-module-badge-error{background:var(--error-50);color:var(--error-600)}.audit-module-badge-success{background:var(--success-50);color:var(--success-600)}.audit-module-badge-primary,.audit-module-badge-info{background:var(--primary-50);color:var(--primary-600)}.audit-module-badge-secondary{background:var(--neutral-100);color:var(--neutral-500)}.audit-action-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:var(--radius-sm);font-size:12px;font-weight:500}.audit-action-badge-success{background:var(--success-50);color:var(--success-600)}.audit-action-badge-error{background:var(--error-50);color:var(--error-600)}.audit-action-badge-warning{background:var(--warning-50);color:var(--warning-700)}.audit-action-badge-info,.audit-action-badge-primary{background:var(--primary-50);color:var(--primary-600)}.audit-action-badge-secondary{background:var(--neutral-100);color:var(--neutral-500)}.audit-description-cell{max-width:300px}.audit-entity-ref{margin-left:8px;padding:2px 6px;background:var(--neutral-100);border-radius:4px;font-size:12px;font-family:SF Mono,Monaco,Cascadia Code,monospace;color:var(--neutral-600)}.audit-view-btn{padding:6px 12px;border:1px solid var(--neutral-200);border-radius:var(--radius-sm);background:#fff;cursor:pointer;display:inline-flex;align-items:center;gap:4px;font-size:13px;color:var(--neutral-500);transition:background .15s ease,border-color .15s ease}.audit-view-btn:hover{background:var(--neutral-50);border-color:var(--neutral-300)}.audit-empty{padding:60px 20px;text-align:center;color:var(--neutral-400)}.audit-empty-icon{margin-bottom:16px}.audit-empty h3{margin:0 0 8px;color:var(--neutral-500);font-size:16px}.audit-empty p{margin:0;font-size:14px}.audit-pagination{padding:16px 20px;border-top:1px solid var(--neutral-200);display:flex;justify-content:space-between;align-items:center}.audit-pagination-info{font-size:14px;color:var(--neutral-500)}.audit-pagination-controls{display:flex;gap:8px;align-items:center}.audit-pagination-btn{padding:8px 12px;border:1px solid var(--neutral-200);border-radius:var(--radius-sm);background:#fff;cursor:pointer;display:flex;align-items:center;gap:4px;font-size:14px;color:var(--neutral-700);transition:background .15s ease,border-color .15s ease}.audit-pagination-btn:hover:not(:disabled){background:var(--neutral-50);border-color:var(--neutral-300)}.audit-pagination-btn:disabled{opacity:.5;cursor:not-allowed}.audit-pagination-pages{display:flex;gap:4px}.audit-page-btn{width:36px;height:36px;border:1px solid var(--neutral-200);border-radius:var(--radius-sm);background:#fff;color:var(--neutral-700);cursor:pointer;font-size:14px;transition:background .15s ease,border-color .15s ease}.audit-page-btn:hover{background:var(--neutral-50)}.audit-page-btn.active{border-color:var(--primary-400);background:var(--primary-500);color:#fff;font-weight:600}.audit-header-actions{display:flex;gap:12px;align-items:center}.audit-subheader{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;flex-wrap:wrap}.audit-feed-container{padding:20px}.audit-spin{animation:auditSpin 1s linear infinite}@keyframes auditSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.audit-mobile-cards{display:none;padding:12px;flex-direction:column;gap:8px}.audit-mobile-card{background:#fff;border-radius:var(--radius-lg);padding:14px;border:1px solid var(--neutral-100);box-shadow:var(--shadow-xs)}.audit-mobile-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:8px}.audit-mobile-card-user{font-weight:600;font-size:var(--text-sm);color:var(--text-primary)}.audit-mobile-card-time{font-size:var(--text-xs);color:var(--text-quaternary);white-space:nowrap}.audit-mobile-card-badges{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px}.audit-mobile-card-desc{font-size:var(--text-sm);color:var(--text-secondary);line-height:1.5;margin-bottom:10px}.audit-mobile-card-footer{display:flex;justify-content:flex-end;padding-top:8px;border-top:1px solid var(--neutral-100)}@media (max-width: 768px){.audit-header-actions{flex-wrap:wrap;gap:8px}.audit-header-actions .btn,.audit-header-actions .audit-integrity-badge{flex:1;min-width:0;justify-content:center;text-align:center}.audit-subheader{flex-direction:column}.audit-tier-pills{overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px;-webkit-overflow-scrolling:touch}.audit-tier-pill{white-space:nowrap;flex-shrink:0}.audit-filters{flex-direction:column;gap:8px}.audit-search{max-width:none;width:100%}.audit-select{width:100%}.audit-date-range{width:100%;flex-wrap:wrap}.audit-date-range input{flex:1;min-width:0}.audit-clear-btn{width:100%;justify-content:center}.audit-table{display:none}.audit-mobile-cards{display:flex}.audit-pagination{flex-direction:column;gap:12px;align-items:stretch;text-align:center}.audit-pagination-controls{justify-content:center}.audit-pagination-btn span{display:none}}.settings-page{max-width:900px;margin:0 auto;padding:0 24px 40px}.settings-page-header{margin-bottom:32px}.settings-page-header h1{font-size:28px;font-weight:700;color:var(--text-primary);margin:0 0 8px;letter-spacing:-.02em}.settings-page-header p{font-size:15px;color:var(--text-secondary);margin:0}.settings-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:80px 24px;color:var(--text-secondary)}.settings-loading .spinner{animation:spin 1s linear infinite;color:var(--primary-500)}.settings-alert{display:flex;align-items:center;gap:12px;padding:14px 18px;border-radius:12px;margin-bottom:24px;font-size:14px;font-weight:500}.settings-alert.error{background:#ef444414;color:#dc2626;border:1px solid rgba(239,68,68,.15)}.settings-alert.success{background:#10b98114;color:#059669;border:1px solid rgba(16,185,129,.15)}.settings-card{background:var(--bg-secondary);border-radius:16px;border:1px solid var(--border-primary);overflow:hidden}.settings-section{padding:28px 32px;border-bottom:1px solid var(--border-primary)}.settings-section:last-child{border-bottom:none}.settings-section-header{display:flex;align-items:flex-start;gap:16px;margin-bottom:24px}.settings-section-icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.settings-section-icon.company{background:linear-gradient(135deg,#6366f126,#6366f114);color:#6366f1}.settings-section-icon.currency{background:linear-gradient(135deg,#10b98126,#10b98114);color:#10b981}.settings-section-icon.workflow{background:linear-gradient(135deg,#f59e0b26,#f59e0b14);color:#f59e0b}.settings-section-icon.sequence{background:linear-gradient(135deg,#8b5cf626,#8b5cf614);color:#8b5cf6}.settings-section-icon.bank{background:linear-gradient(135deg,#0ea5e926,#0ea5e914);color:#0ea5e9}.settings-section-title h2{font-size:17px;font-weight:600;color:var(--text-primary);margin:0 0 4px}.settings-section-title p{font-size:13px;color:var(--text-tertiary);margin:0;line-height:1.5}.settings-form-group{margin-bottom:0}.settings-form-group+.settings-form-group{margin-top:20px}.settings-label{display:block;font-size:14px;font-weight:500;color:var(--text-primary);margin-bottom:8px}.settings-input{width:100%;max-width:400px;padding:12px 16px;border:1px solid var(--border-secondary);border-radius:10px;font-size:15px;color:var(--text-primary);background:var(--bg-primary);transition:color .2s ease,background-color .2s ease,border-color .2s ease,box-shadow .2s ease,opacity .2s ease,transform .2s ease}.settings-input:hover{border-color:var(--border-tertiary)}.settings-input:focus{outline:none;border-color:var(--primary-400);box-shadow:0 0 0 3px #3b82f61f}.settings-input::placeholder{color:var(--text-placeholder)}.settings-hint{font-size:13px;color:var(--text-tertiary);margin-top:8px;line-height:1.5}.currency-pills{display:flex;flex-wrap:wrap;gap:10px}.currency-pill{display:flex;align-items:center;gap:10px;padding:12px 20px;border:2px solid var(--border-secondary);border-radius:50px;background:var(--bg-primary);cursor:pointer;transition:color .2s ease,background-color .2s ease,border-color .2s ease,box-shadow .2s ease,opacity .2s ease,transform .2s ease;font-family:inherit}.currency-pill:hover{border-color:var(--primary-300);background:#3b82f60a}.currency-pill.selected{border-color:var(--primary-500);background:#3b82f614}.currency-pill-symbol{font-size:16px;font-weight:700;color:var(--text-primary)}.currency-pill.selected .currency-pill-symbol{color:var(--primary-600)}.currency-pill-code{font-size:14px;font-weight:500;color:var(--text-secondary)}.currency-pill.selected .currency-pill-code{color:var(--primary-500)}.currency-pill-check{display:none;color:var(--primary-500)}.currency-pill.selected .currency-pill-check{display:flex}.days-stepper{display:flex;align-items:center;gap:0;max-width:180px}.days-stepper-btn{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);border:1px solid var(--border-secondary);color:var(--text-secondary);cursor:pointer;transition:color .15s ease,background-color .15s ease,border-color .15s ease,box-shadow .15s ease,opacity .15s ease,transform .15s ease}.days-stepper-btn:first-child{border-radius:10px 0 0 10px}.days-stepper-btn:last-child{border-radius:0 10px 10px 0}.days-stepper-btn:hover:not(:disabled){background:var(--bg-secondary);color:var(--text-primary)}.days-stepper-btn:active:not(:disabled){background:var(--border-primary)}.days-stepper-btn:disabled{opacity:.4;cursor:not-allowed}.days-stepper-input{width:70px;height:44px;padding:0;border:1px solid var(--border-secondary);border-left:none;border-right:none;border-radius:0;font-size:16px;font-weight:600;color:var(--text-primary);background:var(--bg-primary);text-align:center;-moz-appearance:textfield}.days-stepper-input::-webkit-outer-spin-button,.days-stepper-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.days-stepper-input:focus{outline:none;background:#3b82f60a}.days-label{margin-left:12px;font-size:15px;color:var(--text-secondary);font-weight:500}.settings-actions-bar{display:flex;align-items:center;justify-content:space-between;padding:20px 32px;background:var(--bg-tertiary);border-top:1px solid var(--border-primary)}.settings-actions-hint{font-size:13px;color:var(--text-tertiary);display:flex;align-items:center;gap:6px}.settings-actions-hint.has-changes{color:var(--primary-500)}.settings-actions-buttons{display:flex;gap:10px}.settings-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:color .2s ease,background-color .2s ease,border-color .2s ease,box-shadow .2s ease,opacity .2s ease,transform .2s ease;border:none;font-family:inherit}.settings-btn-secondary{background:var(--bg-primary);border:1px solid var(--border-secondary);color:var(--text-secondary)}.settings-btn-secondary:hover:not(:disabled){background:var(--bg-secondary);border-color:var(--border-tertiary);color:var(--text-primary)}.settings-btn-primary{background:var(--primary-500);color:#fff}.settings-btn-primary:hover:not(:disabled){background:var(--primary-600)}.settings-btn:disabled{opacity:.5;cursor:not-allowed}.settings-btn .spinner{animation:spin 1s linear infinite}.sequence-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin-bottom:20px}.sequence-item{background:var(--bg-primary);border:1px solid var(--border-secondary);border-radius:12px;padding:16px}.sequence-item-header{display:flex;align-items:center;gap:8px;margin-bottom:12px;color:var(--text-secondary);font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.02em}.sequence-item-header svg{opacity:.7}.sequence-item-body{display:flex;flex-direction:column;gap:8px}.sequence-inputs{display:flex;align-items:center;gap:8px}.sequence-prefix-input{width:80px!important;max-width:80px!important;text-transform:uppercase;text-align:center}.sequence-number-input{width:100px!important;max-width:100px!important;text-align:center;-moz-appearance:textfield}.sequence-number-input::-webkit-outer-spin-button,.sequence-number-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.sequence-separator{color:var(--text-tertiary);font-weight:600;font-size:18px}.sequence-static{font-size:14px;color:var(--text-tertiary);font-weight:500;white-space:nowrap}.sequence-preview{font-size:12px;color:var(--text-tertiary);background:var(--bg-tertiary);padding:6px 10px;border-radius:6px;font-family:SF Mono,Monaco,Consolas,monospace}.settings-note{display:flex;align-items:flex-start;gap:10px;padding:14px 16px;background:#8b5cf60f;border:1px solid rgba(139,92,246,.12);border-radius:10px;font-size:13px;color:var(--text-secondary);line-height:1.5}.settings-note svg{flex-shrink:0;color:#8b5cf6;margin-top:2px}.payment-methods-list{display:flex;flex-direction:column;gap:10px}.payment-method-row{display:flex;align-items:center;gap:10px}.payment-method-row .settings-input{flex:1;margin-bottom:0}.payment-method-id{font-size:12px;color:var(--text-secondary);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;padding:4px 8px;white-space:nowrap;font-family:monospace;flex-shrink:0}.payment-method-remove-btn{background:none;border:1px solid var(--border-color);border-radius:6px;padding:6px 8px;cursor:pointer;color:var(--text-secondary);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s ease}.payment-method-remove-btn:hover:not(:disabled){background:#ef444414;border-color:#ef444466;color:#ef4444}.payment-method-remove-btn:disabled{opacity:.35;cursor:not-allowed}@media (max-width: 768px){.settings-page{padding:0 16px 32px}.settings-page-header{margin-bottom:24px}.settings-page-header h1{font-size:24px}.settings-section{padding:24px 20px}.settings-section-header{gap:12px;margin-bottom:20px}.settings-section-icon{width:40px;height:40px}.settings-section-title h2{font-size:16px}.settings-input{max-width:100%}.currency-pills{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.currency-pill{padding:10px 16px;justify-content:center}.settings-actions-bar{flex-direction:column;gap:16px;padding:20px}.settings-actions-hint{order:2}.settings-actions-buttons{width:100%;flex-direction:column-reverse}.settings-btn{width:100%}}@media (max-width: 480px){.settings-page-header h1{font-size:22px}.settings-page-header p{font-size:14px}.settings-section{padding:20px 16px}.settings-section-icon{width:36px;height:36px}.settings-section-title h2{font-size:15px}.currency-pill{padding:8px 12px;gap:8px}.currency-pill-symbol{font-size:14px}.currency-pill-code{font-size:13px}.days-stepper{max-width:160px}.days-stepper-btn{width:40px;height:40px}.days-stepper-input{width:60px;height:40px;font-size:15px}}.settings-section-header{display:flex;align-items:center;gap:16px}.settings-btn-sm{padding:6px 12px;font-size:13px;margin-left:auto}.bank-form-card{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);padding:20px;margin-bottom:16px}.bank-form-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.bank-form-header h4{margin:0;font-size:15px;font-weight:600}.close-btn-sm{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:4px;border-radius:var(--radius-sm)}.close-btn-sm:hover{background:var(--bg-tertiary);color:var(--text-primary)}.bank-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.bank-form-footer{display:flex;align-items:center;justify-content:space-between;margin-top:16px;padding-top:16px;border-top:1px solid var(--border-primary)}.bank-default-check{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-secondary);cursor:pointer}.bank-default-check input[type=checkbox]{width:16px;height:16px}.bank-form-actions{display:flex;gap:8px}.bank-loading,.bank-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px;text-align:center;color:var(--text-secondary);gap:8px}.bank-empty p{margin:0;font-weight:500;color:var(--text-primary)}.bank-empty span{font-size:13px}.bank-accounts-list{display:flex;flex-direction:column;gap:8px}.bank-account-item{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);transition:border-color var(--transition-fast)}.bank-account-item.default{border-color:var(--primary-300);background:#3b82f60a}.bank-account-info{flex:1}.bank-account-name{display:flex;align-items:center;gap:8px;font-size:14px;margin-bottom:4px}.bank-branch{color:var(--text-secondary);font-weight:400}.bank-default-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;font-size:11px;font-weight:600;color:var(--primary-600);background:var(--primary-50);border-radius:var(--radius-full)}.bank-account-details{display:flex;gap:16px;font-size:13px;color:var(--text-secondary);flex-wrap:wrap}.bank-account-actions{display:flex;gap:4px}.action-btn-danger:hover{color:var(--error-600)!important;background:#ef44441a!important}@media (max-width: 640px){.bank-form-grid{grid-template-columns:1fr}.bank-form-footer{flex-direction:column;gap:12px;align-items:stretch}.bank-form-actions{justify-content:flex-end}.bank-account-item{flex-direction:column;align-items:flex-start;gap:12px}.bank-account-details{flex-direction:column;gap:4px}}.data-migration-page{--border-color: var(--border-primary);--primary-color: var(--primary-500);--primary-dark: var(--primary-600);--success-color: var(--success-500);--warning-color: var(--warning-400);--error-color: var(--error-400);max-width:1200px;margin:0 auto}.data-migration-page .page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;gap:16px;flex-wrap:wrap}.data-migration-page .header-left{display:flex;align-items:center;gap:16px}.data-migration-page .header-left .page-icon{width:48px;height:48px;padding:10px;background:linear-gradient(135deg,var(--primary-100),var(--primary-50));color:var(--primary-600);border-radius:12px;flex-shrink:0}.data-migration-page .header-left h1{font-size:24px;font-weight:600;color:var(--text-primary);margin:0 0 4px}.data-migration-page .header-left p{font-size:14px;color:var(--text-tertiary);margin:0}.data-migration-page .step-indicator{display:flex;align-items:center;justify-content:center;margin-bottom:2rem;padding:1.5rem;background:var(--bg-primary);border-radius:12px;border:1px solid var(--border-color)}.data-migration-page .step-item-container{display:flex;align-items:center}.data-migration-page .step-item{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary);color:var(--text-secondary);font-weight:600;font-size:.9rem;border:2px solid var(--border-color);transition:color .3s ease,background-color .3s ease,border-color .3s ease,box-shadow .3s ease,opacity .3s ease,transform .3s ease}.data-migration-page .step-item.active{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.data-migration-page .step-item.completed{background:var(--success-color);color:#fff;border-color:var(--success-color)}.data-migration-page .step-label{margin-left:.5rem;font-size:.85rem;color:var(--text-secondary);font-weight:500}.data-migration-page .step-connector{width:60px;height:2px;background:var(--border-color);margin:0 1rem;transition:background .3s ease}.data-migration-page .step-connector.active{background:var(--success-color)}.data-migration-page .migration-section{background:var(--bg-primary);border-radius:12px;border:1px solid var(--border-color);padding:1.5rem;margin-bottom:1.5rem}.data-migration-page .migration-section h3{margin:0 0 1.5rem;font-size:1.1rem;color:var(--text-primary);display:flex;align-items:center;gap:.5rem}.data-migration-page .form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;margin-bottom:1.5rem}@media (max-width: 768px){.data-migration-page .form-grid{grid-template-columns:1fr}}.data-migration-page .form-group{display:flex;flex-direction:column;gap:.5rem}.data-migration-page .form-group label{font-weight:500;color:var(--text-primary);font-size:.9rem}.data-migration-page .form-group .required{color:var(--error-color)}.data-migration-page .form-control{padding:.75rem;border:1px solid var(--border-color);border-radius:8px;font-size:.95rem;background:var(--bg-secondary);color:var(--text-primary);transition:border-color .2s ease}.data-migration-page .form-control:focus{outline:none;border-color:var(--primary-color)}.data-migration-page .form-hint{font-size:.8rem;color:var(--text-secondary);margin:0}.data-migration-page .template-section{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--bg-secondary);border-radius:8px;margin-bottom:1.5rem}.data-migration-page .template-hint{font-size:.85rem;color:var(--text-secondary)}.data-migration-page .upload-section{margin-top:1.5rem}.data-migration-page .file-upload-area{position:relative}.data-migration-page .file-input{position:absolute;width:100%;height:100%;opacity:0;cursor:pointer;z-index:2}.data-migration-page .file-upload-label{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2.5rem 2rem;border:2px dashed var(--border-color);border-radius:12px;background:var(--bg-secondary);cursor:pointer;transition:color .2s ease,background-color .2s ease,border-color .2s ease,box-shadow .2s ease,opacity .2s ease,transform .2s ease;gap:.75rem}.data-migration-page .file-upload-label:hover{border-color:var(--primary-color);background:#3b82f60d}.data-migration-page .file-upload-label svg{color:var(--text-secondary);opacity:.7}.data-migration-page .file-upload-label:hover svg{color:var(--primary-color);opacity:1}.data-migration-page .file-upload-label span{color:var(--text-primary);font-weight:500}.data-migration-page .file-upload-label span:first-of-type{font-size:1rem}.data-migration-page .file-hint{font-size:.8rem!important;color:var(--text-secondary)!important;font-weight:400!important}.data-migration-page .file-actions{display:flex;gap:.75rem}.data-migration-page .file-selected-card{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;background:var(--bg-primary);border:2px solid var(--success-color);border-radius:12px;gap:1rem}.data-migration-page .file-info{display:flex;align-items:center;gap:1rem;flex:1}.data-migration-page .file-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:#10b9811a;border-radius:8px;color:var(--success-color);flex-shrink:0}.data-migration-page .file-icon.zip{background:#3b82f61a;color:var(--primary-color)}.data-migration-page .file-details{display:flex;flex-direction:column;gap:.25rem}.data-migration-page .file-name{font-weight:600;color:var(--text-primary);font-size:.95rem}.data-migration-page .file-size{font-size:.8rem;color:var(--text-secondary)}.data-migration-page .file-status{display:flex;align-items:center;gap:.35rem;padding:.35rem .75rem;background:#10b9811a;color:var(--success-color);border-radius:20px;font-size:.8rem;font-weight:500}@media (max-width: 768px){.data-migration-page .file-selected-card{flex-direction:column;align-items:stretch}.data-migration-page .file-info{margin-bottom:1rem}.data-migration-page .file-actions{justify-content:stretch}.data-migration-page .file-actions .btn{flex:1;justify-content:center}}.data-migration-page .preview-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1rem;margin-bottom:1.5rem}.data-migration-page .stat-card{display:flex;flex-direction:column;align-items:center;padding:1rem;background:var(--bg-secondary);border-radius:8px;border:1px solid var(--border-color)}.data-migration-page .stat-card.success{border-color:var(--success-color);background:#10b9811a}.data-migration-page .stat-card.warning{border-color:var(--warning-color);background:#f59e0b1a}.data-migration-page .stat-card.error{border-color:var(--error-color);background:#ef44441a}.data-migration-page .stat-card.info{border-color:var(--primary-color);background:#3b82f61a}.data-migration-page .stat-value{font-size:1.75rem;font-weight:700;color:var(--text-primary)}.data-migration-page .stat-label{font-size:.8rem;color:var(--text-secondary);margin-top:.25rem}.data-migration-page .collapsible-section{border:1px solid var(--border-color);border-radius:8px;margin-bottom:1rem;overflow:hidden}.data-migration-page .section-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:var(--bg-secondary);cursor:pointer;font-weight:500;color:var(--text-primary);transition:background .2s ease}.data-migration-page .section-header:hover{background:var(--bg-tertiary)}.data-migration-page .section-header.error{background:#ef44441a;color:var(--error-color)}.data-migration-page .section-content{padding:1rem;max-height:400px;overflow-y:auto}.data-migration-page .mapping-table,.data-migration-page .validation-table,.data-migration-page .data-preview-table{width:100%;border-collapse:collapse;font-size:.85rem}.data-migration-page .mapping-table th,.data-migration-page .validation-table th,.data-migration-page .data-preview-table th{text-align:left;padding:.75rem;background:var(--bg-secondary);color:var(--text-secondary);font-weight:600;border-bottom:1px solid var(--border-color)}.data-migration-page .mapping-table td,.data-migration-page .validation-table td,.data-migration-page .data-preview-table td{padding:.75rem;border-bottom:1px solid var(--border-color);color:var(--text-primary)}.data-migration-page .mapping-table tr:hover,.data-migration-page .validation-table tr:hover,.data-migration-page .data-preview-table tr:hover{background:var(--bg-secondary)}.data-migration-page .warning-row{background:#f59e0b0d}.data-migration-page .error-row{background:#ef44440d}.data-migration-page .value-cell{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.data-migration-page .preview-banner{padding:1rem 1.25rem;border-radius:10px;margin-bottom:1.5rem}.data-migration-page .preview-banner.all-good{background:#10b98114;border:1px solid rgba(16,185,129,.3)}.data-migration-page .preview-banner.has-warnings{background:#f59e0b14;border:1px solid rgba(245,158,11,.3)}.data-migration-page .preview-banner-content{display:flex;align-items:center;gap:.75rem}.data-migration-page .preview-banner-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;flex-shrink:0}.data-migration-page .preview-banner.all-good .preview-banner-icon{background:#10b98126;color:var(--success-color)}.data-migration-page .preview-banner.has-warnings .preview-banner-icon{background:#f59e0b26;color:var(--warning-color)}.data-migration-page .preview-banner-text{display:flex;flex-direction:column;gap:.2rem}.data-migration-page .preview-banner-text strong{font-size:.95rem;color:var(--text-primary)}.data-migration-page .preview-banner-text span{font-size:.85rem;color:var(--text-secondary)}.data-migration-page .preview-banner-detail{margin-top:.75rem;padding-top:.75rem;border-top:1px solid rgba(245,158,11,.2);font-size:.8rem;color:var(--text-secondary);display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.data-migration-page .preview-banner-detail code{background:#f59e0b26;color:var(--warning-color);padding:.15rem .5rem;border-radius:4px;font-family:monospace;font-size:.75rem}.data-migration-page .preview-table-wrapper{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:10px;overflow:hidden}.data-migration-page .preview-table-header{display:flex;align-items:center;justify-content:space-between;padding:.875rem 1rem;background:var(--bg-secondary);border-bottom:1px solid var(--border-color)}.data-migration-page .preview-table-title{display:flex;align-items:center;gap:.5rem;font-weight:600;font-size:.9rem;color:var(--text-primary)}.data-migration-page .preview-table-info{font-size:.8rem;color:var(--text-secondary)}.data-migration-page .table-container{overflow-x:auto}.data-migration-page .data-preview-table.enhanced{width:100%;border-collapse:collapse;font-size:.85rem}.data-migration-page .data-preview-table.enhanced th{text-align:left;padding:.75rem 1rem;background:var(--bg-secondary);color:var(--text-primary);font-weight:600;border-bottom:2px solid var(--border-color);position:relative;white-space:nowrap}.data-migration-page .data-preview-table.enhanced th.row-number-col{width:50px;text-align:center;color:var(--text-tertiary);font-weight:500}.data-migration-page .data-preview-table.enhanced th.matched-col{background:#10b9810d}.data-migration-page .data-preview-table.enhanced th.unmatched-col{background:#f59e0b14;color:var(--warning-color)}.data-migration-page .col-header{display:flex;align-items:center;gap:.5rem}.data-migration-page .col-name{font-weight:600}.data-migration-page .col-status{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;flex-shrink:0}.data-migration-page .col-status.matched{background:var(--success-color);color:#fff}.data-migration-page .col-status.unmatched{background:var(--warning-color);color:#fff}.data-migration-page .col-maps-to{display:block;font-size:.7rem;font-weight:400;color:var(--success-color);margin-top:.25rem}.data-migration-page .data-preview-table.enhanced td{padding:.625rem 1rem;border-bottom:1px solid var(--border-color);color:var(--text-primary);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.data-migration-page .data-preview-table.enhanced td.row-number-col{text-align:center;color:var(--text-tertiary);font-size:.8rem;background:var(--bg-secondary)}.data-migration-page .data-preview-table.enhanced td.unmatched-cell{background:#f59e0b0d;color:var(--warning-color)}.data-migration-page .data-preview-table.enhanced tr:hover td{background:var(--bg-secondary)}.data-migration-page .data-preview-table.enhanced tr:hover td.unmatched-cell{background:#f59e0b1a}.data-migration-page .data-preview-table.enhanced tr:hover td.row-number-col{background:var(--bg-tertiary)}.data-migration-page .empty-value{color:var(--text-placeholder);font-style:italic}.data-migration-page .preview-banner.has-errors{background:#ef444414;border:1px solid rgba(239,68,68,.3)}.data-migration-page .preview-banner.has-errors .preview-banner-icon{background:#ef444426;color:var(--error-color)}.data-migration-page .validation-stats{display:flex;gap:1rem;margin-bottom:1.5rem}.data-migration-page .validation-stat{flex:1;display:flex;flex-direction:column;align-items:center;padding:1rem;background:var(--bg-secondary);border-radius:8px;border:1px solid var(--border-color)}.data-migration-page .validation-stat.success{background:#10b98114;border-color:#10b9814d}.data-migration-page .validation-stat.error{background:#ef444414;border-color:#ef44444d}.data-migration-page .validation-stat-value{font-size:1.5rem;font-weight:700;color:var(--text-primary)}.data-migration-page .validation-stat.success .validation-stat-value{color:var(--success-color)}.data-migration-page .validation-stat.error .validation-stat-value{color:var(--error-color)}.data-migration-page .validation-stat-label{font-size:.8rem;color:var(--text-secondary);margin-top:.25rem}.data-migration-page .validation-section-card{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:10px;margin-bottom:1rem;overflow:hidden}.data-migration-page .validation-section-card.error{border-color:#ef44444d}.data-migration-page .validation-section-header{padding:.75rem 1rem;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);font-weight:600;font-size:.9rem;color:var(--text-primary)}.data-migration-page .validation-section-card.error .validation-section-header{background:#ef444414;color:var(--error-color)}.data-migration-page .validation-section-content{padding:1rem;max-height:300px;overflow-y:auto}.data-migration-page .dependency-item{padding:.75rem;background:#f59e0b14;border:1px solid rgba(245,158,11,.3);border-radius:8px;margin-bottom:.75rem}.data-migration-page .dependency-item:last-child{margin-bottom:0}.data-migration-page .dependency-item.error{background:#ef444414;border-color:#ef44444d}.data-migration-page .dependency-info{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.data-migration-page .dependency-info strong{color:var(--text-primary)}.data-migration-page .dependency-info span{font-size:.85rem;color:var(--text-secondary)}.data-migration-page .dependency-info code{background:var(--bg-tertiary);padding:.15rem .4rem;border-radius:4px;font-size:.8rem}.data-migration-page .dependency-counts{display:flex;gap:1rem;font-size:.8rem;margin-bottom:.5rem}.data-migration-page .dependency-counts .found{color:var(--success-color)}.data-migration-page .dependency-counts .missing{color:var(--error-color);font-weight:500}.data-migration-page .dependency-missing-values{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center}.data-migration-page .dependency-missing-values code{background:#ef444426;color:var(--error-color);padding:.15rem .5rem;border-radius:4px;font-size:.75rem}.data-migration-page .dependency-missing-values span{font-size:.75rem;color:var(--text-secondary)}.data-migration-page .error-list{display:flex;flex-direction:column;gap:.5rem}.data-migration-page .error-item{padding:.75rem;background:#ef444414;border-left:3px solid var(--error-color);border-radius:0 6px 6px 0}.data-migration-page .error-location{font-size:.8rem;color:var(--text-secondary);margin-bottom:.25rem;display:flex;align-items:center;gap:.5rem}.data-migration-page .error-field{background:var(--bg-tertiary);padding:.1rem .4rem;border-radius:4px;font-family:monospace;font-size:.75rem}.data-migration-page .error-message{color:var(--error-color);font-size:.9rem;font-weight:500}.data-migration-page .error-suggestion{margin-top:.35rem;font-size:.8rem;color:var(--text-secondary)}.data-migration-page .error-more{text-align:center;padding:.75rem;color:var(--text-secondary);font-size:.85rem;background:var(--bg-secondary);border-radius:6px}.data-migration-page .import-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.5rem}@media (max-width: 768px){.data-migration-page .import-stats-grid{grid-template-columns:repeat(2,1fr)}}.data-migration-page .import-stat{display:flex;align-items:center;gap:.75rem;padding:1rem;background:var(--bg-secondary);border-radius:10px;border:1px solid var(--border-color)}.data-migration-page .import-stat.inserted{background:#10b98114;border-color:#10b9814d}.data-migration-page .import-stat.inserted .import-stat-icon{background:#10b98126;color:var(--success-color)}.data-migration-page .import-stat.updated{background:#3b82f614;border-color:#3b82f64d}.data-migration-page .import-stat.updated .import-stat-icon{background:#3b82f626;color:var(--primary-color)}.data-migration-page .import-stat.skipped .import-stat-icon{background:#6b728026;color:var(--text-secondary)}.data-migration-page .import-stat.errors{background:#ef444414;border-color:#ef44444d}.data-migration-page .import-stat.errors .import-stat-icon{background:#ef444426;color:var(--error-color)}.data-migration-page .import-stat.no-errors .import-stat-icon{background:#6b72801a;color:var(--text-tertiary)}.data-migration-page .import-stat-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:8px;flex-shrink:0}.data-migration-page .import-stat-info{display:flex;flex-direction:column}.data-migration-page .import-stat-value{font-size:1.25rem;font-weight:700;color:var(--text-primary);line-height:1.2}.data-migration-page .import-stat-label{font-size:.8rem;color:var(--text-secondary)}.data-migration-page .rollback-notice{display:flex;align-items:flex-start;gap:.5rem;padding:.75rem 1rem;background:#f59e0b1a;border:1px solid rgba(245,158,11,.25);border-radius:8px;color:var(--warning-color);font-size:.85rem;margin-bottom:1.5rem}.data-migration-page .rollback-notice>svg{flex-shrink:0;margin-top:2px}.data-migration-page .rollback-notice-content{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex:1;flex-wrap:wrap}.data-migration-page .rollback-notice-content .btn-danger{color:var(--danger-color, #ef4444);border-color:var(--danger-color, #ef4444);white-space:nowrap}.data-migration-page .rollback-notice-content .btn-danger:hover{background:var(--danger-color, #ef4444);color:#fff}.data-migration-page .rollback-success-notice{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:#22c55e1a;border:1px solid rgba(34,197,94,.25);border-radius:8px;color:var(--success-color, #22c55e);font-size:.85rem;margin-bottom:1.5rem}.data-migration-page .step-actions-wrapper{display:flex;flex-direction:column;gap:1rem}.data-migration-page .skip-invalid-toggle{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:#3b82f614;border:1px solid rgba(59,130,246,.2);border-radius:8px;cursor:pointer;font-size:.85rem;color:var(--text-primary);transition:background .15s}.data-migration-page .skip-invalid-toggle:hover{background:#3b82f61f}.data-migration-page .skip-invalid-toggle input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--primary-color, #3b82f6)}.data-migration-page .replace-confirm-banner{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;background:#ef444414;border:1px solid rgba(239,68,68,.25);border-radius:8px;color:var(--text-primary)}.data-migration-page .replace-confirm-banner>svg{flex-shrink:0;color:var(--danger-color, #ef4444);margin-top:2px}.data-migration-page .replace-confirm-text{display:flex;flex-direction:column;gap:.25rem;flex:1}.data-migration-page .replace-confirm-text strong{color:var(--danger-color, #ef4444);font-size:.88rem}.data-migration-page .replace-confirm-text span{font-size:.82rem;color:var(--text-secondary)}.data-migration-page .replace-confirm-actions{display:flex;gap:.5rem;flex-shrink:0;align-items:flex-start}.data-migration-page .btn-danger{color:#fff;background:var(--danger-color, #ef4444);border-color:var(--danger-color, #ef4444)}.data-migration-page .btn-danger:hover{background:#dc2626;border-color:#dc2626}.data-migration-page .step-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border-color)}.data-migration-page .btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;border-radius:8px;font-weight:500;font-size:.9rem;cursor:pointer;transition:color .2s ease,background-color .2s ease,border-color .2s ease,box-shadow .2s ease,opacity .2s ease,transform .2s ease;border:none;text-decoration:none;white-space:nowrap}.data-migration-page .btn:disabled{opacity:.6;cursor:not-allowed}.data-migration-page .btn-primary{background-color:var(--primary-color);color:#fff}.data-migration-page .btn-primary:hover:not(:disabled){background-color:var(--primary-dark)}.data-migration-page .btn-outline{background-color:transparent;border:1px solid var(--border-color);color:var(--text-primary)}.data-migration-page .btn-outline:hover:not(:disabled){background-color:var(--bg-secondary);border-color:var(--primary-color)}.data-migration-page .btn-danger{background-color:transparent;border:1px solid var(--error-color);color:var(--error-color)}.data-migration-page .btn-danger:hover:not(:disabled){background-color:var(--error-color);color:#fff}.data-migration-page .btn-success{background-color:var(--success-color);color:#fff}.data-migration-page .btn-success:hover:not(:disabled){background-color:var(--success-600)}.data-migration-page .spin{animation:dm-spin 1s linear infinite}@keyframes dm-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.data-migration-page .notification{position:fixed;top:1rem;right:1rem;display:flex;align-items:center;gap:.5rem;padding:1rem 1.5rem;border-radius:8px;font-weight:500;z-index:1000;animation:dm-slideIn .3s ease}.data-migration-page .notification.success{background:var(--success-color);color:#fff}.data-migration-page .notification.error{background:var(--error-color);color:#fff}@keyframes dm-slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.data-migration-page .migration-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;padding:.25rem;background:var(--bg-secondary);border-radius:12px;border:1px solid var(--border-color)}.data-migration-page .tab-button{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border:none;background:transparent;color:var(--text-secondary);font-weight:500;font-size:.9rem;cursor:pointer;border-radius:8px;transition:color .2s ease,background-color .2s ease,border-color .2s ease,box-shadow .2s ease,opacity .2s ease,transform .2s ease;flex:1;justify-content:center}.data-migration-page .tab-button:hover{color:var(--text-primary);background:var(--bg-tertiary)}.data-migration-page .tab-button.active{background:var(--bg-primary);color:var(--primary-color);box-shadow:0 1px 3px #0000001a}.data-migration-page .section-description{color:var(--text-secondary);margin-bottom:1.5rem;font-size:.9rem}.data-migration-page .info-box{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:1rem 1.25rem;margin-bottom:1.5rem}.data-migration-page .info-box h4{margin:0 0 .75rem;font-size:.9rem;color:var(--text-primary)}.data-migration-page .info-box ol{margin:0;padding-left:1.25rem}.data-migration-page .info-box li{margin-bottom:.5rem;font-size:.85rem;color:var(--text-secondary)}.data-migration-page .info-box li:last-child{margin-bottom:0}.data-migration-page .info-box code{background:var(--bg-tertiary);padding:.15rem .4rem;border-radius:4px;font-family:monospace;font-size:.8rem}.data-migration-page .file-migration-result{margin-top:1.5rem}.data-migration-page .import-progress-container{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:12px;padding:1.25rem;margin-top:1.5rem}.data-migration-page .import-progress-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.data-migration-page .import-progress-title{display:flex;align-items:center;gap:.75rem;font-weight:600;font-size:.95rem;color:var(--text-primary)}.data-migration-page .import-progress-title svg{color:var(--primary-color)}.data-migration-page .btn-sm{padding:.5rem 1rem;font-size:.85rem}.data-migration-page .import-progress-bar-wrapper{width:100%;height:12px;background:var(--bg-tertiary);border-radius:6px;overflow:hidden;margin-bottom:.75rem}.data-migration-page .import-progress-bar{height:100%;background:linear-gradient(90deg,var(--primary-color),var(--primary-300));border-radius:6px;transition:width .3s ease}.data-migration-page .import-progress-stats{display:flex;align-items:center;justify-content:space-between;font-size:.85rem;color:var(--text-secondary)}.data-migration-page .import-eta{display:flex;align-items:center;gap:.35rem}.data-migration-page .import-batch-info{margin-top:.5rem;font-size:.8rem;color:var(--text-tertiary);text-align:center}.data-migration-page .file-warning{display:flex;align-items:flex-start;gap:.75rem;padding:.875rem 1rem;background:#f59e0b14;border:1px solid rgba(245,158,11,.3);border-radius:8px;margin-bottom:1rem}.data-migration-page .file-warning svg{color:var(--warning-color);flex-shrink:0;margin-top:.1rem}.data-migration-page .file-warning-text{display:flex;flex-direction:column;gap:.25rem}.data-migration-page .file-warning-text strong{color:var(--warning-color);font-size:.9rem}.data-migration-page .file-warning-text span{color:var(--text-secondary);font-size:.8rem}.data-migration-page .entity-categories{display:flex;flex-direction:column;gap:1.5rem}.data-migration-page .entity-category{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;overflow:hidden}.data-migration-page .entity-category-header{padding:1rem 1.25rem;border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.data-migration-page .entity-category-title{display:flex;align-items:center;gap:.5rem;font-weight:600;font-size:.95rem;color:var(--text-primary)}.data-migration-page .entity-category-title svg{color:var(--primary-color)}.data-migration-page .entity-category-desc{font-size:.8rem;color:var(--text-secondary)}.data-migration-page .entity-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem;padding:1rem}@media (max-width: 640px){.data-migration-page .entity-card-grid{grid-template-columns:1fr}}.data-migration-page .entity-card{display:flex;flex-direction:column;gap:.35rem;padding:.875rem 1rem;background:var(--bg-primary);border:2px solid var(--border-color);border-radius:8px;cursor:pointer;text-align:left;transition:background .2s ease,border-color .2s ease,box-shadow .2s ease}.data-migration-page .entity-card:hover{border-color:var(--primary-color);background:#3b82f608}.data-migration-page .entity-card.selected{border-color:var(--primary-color);background:#3b82f60f;box-shadow:0 0 0 1px var(--primary-color)}.data-migration-page .entity-card-name{font-weight:600;font-size:.9rem;color:var(--text-primary)}.data-migration-page .entity-card-desc{font-size:.78rem;color:var(--text-secondary);line-height:1.3}.data-migration-page .entity-card-deps{display:flex;align-items:center;gap:.3rem;font-size:.72rem;color:var(--warning-color);margin-top:.15rem}.data-migration-page .entity-card-footer{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:.35rem}.data-migration-page .entity-card-meta{display:flex;align-items:center;gap:.5rem}.data-migration-page .entity-card-phase{font-size:.7rem;color:var(--text-tertiary);font-weight:500}.data-migration-page .entity-card-count{font-size:.7rem;color:var(--text-quaternary, var(--text-tertiary));font-weight:400}.data-migration-page .entity-card-export-btn{position:relative;display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:1px solid var(--border-color);border-radius:var(--radius-sm, 6px);background:var(--bg-primary);color:var(--text-secondary);cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease;flex-shrink:0}.data-migration-page .entity-card-export-btn:hover:not(:disabled){border-color:var(--primary-color);color:var(--primary-color);background:#3b82f60f}.data-migration-page .entity-card-export-label{position:absolute;bottom:calc(100% + 6px);right:0;padding:4px 8px;font-size:.675rem;font-weight:500;white-space:nowrap;color:#fff;background:var(--text-primary, #1e293b);border-radius:var(--radius-sm, 6px);opacity:0;pointer-events:none;transition:opacity .15s ease}.data-migration-page .entity-card-export-btn:hover:not(:disabled) .entity-card-export-label{opacity:1}.data-migration-page .entity-card-export-btn:disabled{opacity:.5;cursor:not-allowed}.data-migration-page .file-module-toggle{display:flex;gap:.5rem;margin-bottom:1.25rem;padding:.25rem;background:var(--bg-secondary);border-radius:10px;border:1px solid var(--border-color)}.data-migration-page .module-toggle-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;flex:1;padding:.75rem 1.25rem;border:none;background:transparent;color:var(--text-secondary);font-weight:500;font-size:.9rem;cursor:pointer;border-radius:8px;transition:color .2s ease,background-color .2s ease,border-color .2s ease,box-shadow .2s ease,opacity .2s ease,transform .2s ease}.data-migration-page .module-toggle-btn:hover{color:var(--text-primary);background:var(--bg-tertiary)}.data-migration-page .module-toggle-btn.active{background:var(--bg-primary);color:var(--primary-color);box-shadow:0 1px 3px #0000001a}.data-migration-page .file-structure-info h4{display:flex;align-items:center;gap:.5rem}.data-migration-page .file-structure-info h4 svg{color:var(--primary-color)}.data-migration-page .zip-structure-preview{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;padding:.875rem 1rem;font-family:SF Mono,Fira Code,monospace;font-size:.78rem;line-height:1.5;color:var(--text-primary);overflow-x:auto;margin:.75rem 0;white-space:pre}.data-migration-page .file-category-summary{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.5rem}.data-migration-page .category-summary-label{font-size:.8rem;font-weight:500;color:var(--text-secondary)}.data-migration-page .category-chip{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .6rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:4px;font-size:.75rem;color:var(--text-secondary)}.data-migration-page .category-chip code{background:transparent;padding:0;font-size:.75rem;color:var(--primary-color)}.data-migration-page .category-chips{display:flex;flex-wrap:wrap;gap:.3rem}.data-migration-page .category-chip-small{display:inline-block;padding:.1rem .45rem;background:#3b82f61a;color:var(--primary-color);border-radius:4px;font-size:.7rem;font-weight:500}.data-migration-page .file-step-indicator{margin-bottom:1.5rem}.data-migration-page .help-btn{flex-shrink:0;padding:10px 20px;font-size:14px;min-width:max-content}.help-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem;animation:dm-fadeIn .2s ease}@keyframes dm-fadeIn{0%{opacity:0}to{opacity:1}}.help-modal{background:var(--bg-primary);border-radius:16px;width:100%;max-width:820px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d;animation:dm-slideUp .25s ease;overflow:hidden}@keyframes dm-slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.help-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border-primary)}.help-modal-title{display:flex;align-items:center;gap:.5rem;font-weight:600;font-size:1.1rem;color:var(--text-primary)}.help-modal-title svg{color:var(--primary-500)}.help-modal-close{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;background:transparent;color:var(--text-secondary);border-radius:8px;cursor:pointer;transition:color .15s ease,background-color .15s ease,border-color .15s ease,box-shadow .15s ease,opacity .15s ease,transform .15s ease}.help-modal-close:hover{background:var(--bg-secondary);color:var(--text-primary)}.help-modal-body{display:flex;flex:1;overflow:hidden;min-height:0}.help-modal-sidebar{width:200px;flex-shrink:0;border-right:1px solid var(--border-primary);padding:.75rem;display:flex;flex-direction:column;gap:.25rem;background:var(--bg-secondary)}.help-nav-item{display:flex;align-items:center;gap:.5rem;padding:.65rem .875rem;border:none;background:transparent;color:var(--text-secondary);font-size:.85rem;font-weight:500;cursor:pointer;border-radius:6px;transition:color .15s ease,background-color .15s ease,border-color .15s ease,box-shadow .15s ease,opacity .15s ease,transform .15s ease;text-align:left}.help-nav-item:hover{background:var(--bg-tertiary);color:var(--text-primary)}.help-nav-item.active{background:var(--bg-primary);color:var(--primary-500);box-shadow:0 1px 2px #00000014}.help-modal-content{flex:1;overflow-y:auto;padding:1.5rem;min-width:0}@media (max-width: 640px){.help-modal{max-width:100%;max-height:90vh;margin:1rem}.help-modal-body{flex-direction:column}.help-modal-sidebar{width:100%;flex-direction:row;border-right:none;border-bottom:1px solid var(--border-primary);overflow-x:auto;padding:.5rem}.help-nav-item{white-space:nowrap;font-size:.8rem;padding:.5rem .75rem}}.help-section h3{margin:0 0 .5rem;font-size:1.15rem;color:var(--text-primary)}.help-section>p{color:var(--text-secondary);font-size:.9rem;margin:0 0 1.25rem}.help-step-list{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.help-step{display:flex;gap:.875rem;align-items:flex-start}.help-step-number{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--primary-500);color:#fff;font-size:.8rem;font-weight:700;flex-shrink:0}.help-step-content strong{display:block;color:var(--text-primary);font-size:.9rem;margin-bottom:.2rem}.help-step-content p{color:var(--text-secondary);font-size:.82rem;margin:0;line-height:1.45}.help-info-block{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:8px;padding:1rem 1.25rem;margin-bottom:1.25rem}.help-info-block h4{margin:0 0 .75rem;font-size:.9rem;color:var(--text-primary)}.help-info-block h5{margin:1rem 0 .5rem;font-size:.82rem;color:var(--text-secondary);font-weight:600}.help-info-block h5:first-of-type{margin-top:0}.help-info-block ol{margin:0;padding-left:1.25rem}.help-info-block ol li{margin-bottom:.4rem;font-size:.82rem;color:var(--text-secondary);line-height:1.4}.help-mapping-table{width:100%;border-collapse:collapse;font-size:.82rem;margin-bottom:.5rem}.help-mapping-table th{text-align:left;padding:.5rem .75rem;background:var(--bg-tertiary);color:var(--text-secondary);font-weight:600;border-bottom:1px solid var(--border-primary);font-size:.78rem}.help-mapping-table td{padding:.4rem .75rem;border-bottom:1px solid var(--border-primary);color:var(--text-primary)}.help-mapping-table code{background:var(--bg-tertiary);padding:.1rem .35rem;border-radius:3px;font-size:.78rem}.help-code-block{margin-bottom:1rem}.help-code-block strong{display:block;font-size:.82rem;color:var(--text-secondary);margin-bottom:.35rem}.help-code-block pre{background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:6px;padding:.75rem 1rem;font-family:SF Mono,Fira Code,monospace;font-size:.75rem;line-height:1.5;color:var(--text-primary);overflow-x:auto;margin:0;white-space:pre}.help-tip-list{display:flex;flex-direction:column;gap:.875rem}.help-tip{display:flex;gap:.75rem;align-items:flex-start;padding:.875rem 1rem;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:8px}.help-tip>svg{color:var(--primary-500);flex-shrink:0;margin-top:.1rem}.help-tip strong{display:block;font-size:.85rem;color:var(--text-primary);margin-bottom:.2rem}.help-tip p{font-size:.8rem;color:var(--text-secondary);margin:0;line-height:1.4}.help-tip code{background:var(--bg-tertiary);padding:.1rem .35rem;border-radius:3px;font-size:.75rem}.data-migration-page .col-required{display:block;font-size:.62rem;font-weight:600;color:var(--error-color);text-transform:uppercase;letter-spacing:.03em;margin-top:.2rem}.data-migration-page .required-fields-summary{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;padding:1rem 1.25rem;margin-bottom:1rem}.data-migration-page .required-fields-summary h4{margin:0 0 .75rem;font-size:.9rem;color:var(--text-primary);font-weight:600}.data-migration-page .required-fields-list{display:flex;flex-wrap:wrap;gap:.5rem}.data-migration-page .required-field-chip{display:inline-flex;align-items:center;gap:.3rem;padding:.3rem .65rem;border-radius:6px;font-size:.8rem;font-weight:500}.data-migration-page .required-field-chip.present{background:#10b9811a;color:var(--success-color);border:1px solid rgba(16,185,129,.3)}.data-migration-page .required-field-chip.missing{background:#ef44441a;color:var(--error-color);border:1px solid rgba(239,68,68,.3)}.data-migration-page .required-fields-warning{display:flex;align-items:center;gap:.5rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border-color);font-size:.8rem;color:var(--warning-color)}.data-migration-page .dependency-status-banner{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;padding:1rem 1.25rem;margin-top:1.25rem}.data-migration-page .dependency-status-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;color:var(--text-primary);font-size:.9rem}.data-migration-page .dependency-status-header svg{color:var(--primary-color)}.data-migration-page .dependency-status-list{display:flex;flex-direction:column;gap:.5rem}.data-migration-page .dependency-status-item{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-radius:6px;font-size:.85rem}.data-migration-page .dependency-status-item.dependency-ok{background:#10b9810f;color:var(--success-color)}.data-migration-page .dependency-status-item.dependency-missing{background:#f59e0b14;color:var(--warning-color)}.data-migration-page .dependency-status-name{font-weight:600;color:var(--text-primary);min-width:120px}.data-migration-page .dependency-status-count{font-size:.8rem}.data-migration-page .dependency-status-item.dependency-ok .dependency-status-count{color:var(--success-color)}.data-migration-page .dependency-status-item.dependency-missing .dependency-status-count{color:var(--warning-color)}.data-migration-page .dependency-status-warning{display:flex;align-items:center;gap:.5rem;margin-top:.75rem;padding:.625rem .75rem;background:#f59e0b1a;border:1px solid rgba(245,158,11,.25);border-radius:6px;font-size:.8rem;color:var(--warning-color)}.data-migration-page .dependency-status-warning svg{flex-shrink:0}.data-migration-page .history-filters{display:flex;gap:1rem;margin-bottom:1.25rem}.data-migration-page .history-filter-group{min-width:200px;max-width:280px}.data-migration-page .history-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:3rem 2rem;color:var(--text-secondary);font-size:.9rem}.data-migration-page .history-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;color:var(--text-tertiary);text-align:center}.data-migration-page .history-empty svg{opacity:.4;margin-bottom:.5rem}.data-migration-page .history-empty p{margin:0 0 .25rem;font-size:1rem;font-weight:600;color:var(--text-secondary)}.data-migration-page .history-empty span{font-size:.85rem}.data-migration-page .history-table th{white-space:nowrap}.data-migration-page .history-mode-badge{display:inline-block;padding:.15rem .5rem;background:var(--bg-tertiary);border-radius:4px;font-size:.75rem;font-weight:500;color:var(--text-secondary);text-transform:capitalize}.data-migration-page .history-results{display:flex;flex-wrap:wrap;gap:.3rem}.data-migration-page .history-results span{display:inline-block;padding:.1rem .4rem;border-radius:3px;font-size:.7rem;font-weight:500}.data-migration-page .history-result-inserted{background:#10b9811f;color:var(--success-color)}.data-migration-page .history-result-updated{background:#3b82f61f;color:var(--primary-color)}.data-migration-page .history-result-skipped{background:#6b72801f;color:var(--text-secondary)}.data-migration-page .history-result-errors{background:#ef44441f;color:var(--error-color)}.data-migration-page .rolled-back-row{opacity:.65}.data-migration-page .rolled-back-row td{text-decoration:line-through;text-decoration-color:var(--text-tertiary)}.data-migration-page .rolled-back-row td:nth-child(3){text-decoration:none}.data-migration-page .history-pagination{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--border-color)}.data-migration-page .history-pagination-info{font-size:.85rem;color:var(--text-secondary);font-weight:500}.data-migration-page .more-errors{text-align:center;padding:.5rem;font-size:.82rem;color:var(--text-secondary)}@media (max-width: 768px){.data-migration-page .header-left h1{font-size:20px}.data-migration-page .header-left .page-icon{width:40px;height:40px;padding:8px}.data-migration-page .step-indicator{padding:1rem .75rem}.data-migration-page .step-item{width:32px;height:32px;font-size:.8rem}.data-migration-page .step-label{margin-left:.35rem;font-size:.75rem}.data-migration-page .step-connector{width:32px;margin:0 .5rem}.data-migration-page .migration-section{padding:1.25rem 1rem}.data-migration-page .migration-section h3{font-size:1rem}.data-migration-page .template-section{flex-direction:column;align-items:stretch;gap:.75rem}.data-migration-page .template-section .btn{justify-content:center}.data-migration-page .validation-stats{gap:.75rem}.data-migration-page .validation-stat{padding:.75rem .5rem}.data-migration-page .validation-stat-value{font-size:1.25rem}.data-migration-page .step-actions{flex-direction:column-reverse;gap:.75rem}.data-migration-page .step-actions .btn{justify-content:center;width:100%}.data-migration-page .preview-banner{padding:.875rem 1rem}.data-migration-page .preview-banner-icon{width:32px;height:32px}.data-migration-page .preview-banner-icon svg{width:18px;height:18px}.data-migration-page .preview-banner-text strong{font-size:.875rem}.data-migration-page .preview-banner-text span{font-size:.8rem}.data-migration-page .entity-category-header{flex-direction:column;align-items:flex-start;gap:.35rem;padding:.875rem 1rem}.data-migration-page .file-upload-label{padding:2rem 1.5rem}.data-migration-page .file-upload-label svg{width:36px;height:36px}.data-migration-page .import-progress-stats{flex-wrap:wrap;gap:.5rem}.data-migration-page .dependency-status-name{min-width:100px}.data-migration-page .history-filter-group{min-width:160px}.data-migration-page .required-fields-list{gap:.35rem}.help-modal-overlay{padding:1rem}}@media (max-width: 480px){.data-migration-page{max-width:100%}.data-migration-page .page-header{flex-direction:column;align-items:stretch;gap:12px}.data-migration-page .page-header .help-btn{align-self:flex-end}.data-migration-page .header-left h1{font-size:18px}.data-migration-page .header-left p{font-size:13px}.data-migration-page .step-indicator{padding:.875rem .5rem;flex-wrap:nowrap;justify-content:space-between;position:relative}.data-migration-page .step-item-container{flex-direction:column;align-items:center;flex:0 0 auto}.data-migration-page .step-item{width:28px;height:28px;font-size:.75rem;border-width:2px}.data-migration-page .step-label{margin-left:0;margin-top:.3rem;font-size:.65rem;text-align:center;white-space:nowrap}.data-migration-page .step-connector{width:16px;margin:0 .15rem;align-self:flex-start;margin-top:13px}.data-migration-page .tab-button{padding:.625rem .75rem;font-size:.82rem;gap:.35rem}.data-migration-page .tab-button svg{width:16px;height:16px}.data-migration-page .migration-section{padding:1rem .875rem;border-radius:10px}.data-migration-page .migration-section h3{font-size:.95rem;margin-bottom:1rem}.data-migration-page .entity-card-grid{grid-template-columns:1fr;gap:.5rem;padding:.75rem}.data-migration-page .entity-card{padding:.75rem}.data-migration-page .module-toggle-btn{padding:.625rem .75rem;font-size:.82rem;gap:.35rem}.data-migration-page .module-toggle-btn svg{width:14px;height:14px}.data-migration-page .info-box{padding:.875rem 1rem}.data-migration-page .zip-structure-preview{font-size:.68rem;padding:.75rem}.data-migration-page .file-category-summary{gap:.35rem}.data-migration-page .category-chip{font-size:.68rem;padding:.15rem .45rem}.data-migration-page .file-selected-card{padding:.875rem;gap:.75rem}.data-migration-page .file-icon{width:40px;height:40px}.data-migration-page .file-name{font-size:.85rem;word-break:break-all}.data-migration-page .import-stats-grid{grid-template-columns:repeat(2,1fr);gap:.625rem}.data-migration-page .import-stat{padding:.75rem;gap:.5rem}.data-migration-page .import-stat-icon{width:34px;height:34px}.data-migration-page .import-stat-value{font-size:1.1rem}.data-migration-page .import-stat-label{font-size:.72rem}.data-migration-page .validation-stats{flex-direction:row;gap:.5rem}.data-migration-page .validation-stat{padding:.625rem .35rem}.data-migration-page .validation-stat-value{font-size:1.1rem}.data-migration-page .validation-stat-label{font-size:.72rem}.data-migration-page .btn{padding:.625rem 1rem;font-size:.85rem}.data-migration-page .preview-table-header{flex-direction:column;align-items:flex-start;gap:.35rem;padding:.75rem}.data-migration-page .rollback-notice{font-size:.78rem;flex-wrap:wrap}.data-migration-page .error-item{padding:.625rem}.data-migration-page .error-message{font-size:.82rem}.data-migration-page .section-content{padding:.75rem}.data-migration-page .dependency-info{flex-wrap:wrap}.data-migration-page .dependency-counts{gap:.75rem}.data-migration-page .file-warning{gap:.5rem;padding:.75rem}.data-migration-page .dependency-status-item{flex-wrap:wrap;gap:.35rem}.data-migration-page .dependency-status-name{min-width:auto}.data-migration-page .history-filters{flex-direction:column}.data-migration-page .history-filter-group{min-width:auto;max-width:none}.data-migration-page .history-pagination{gap:.75rem}.data-migration-page .history-pagination-info{font-size:.78rem}.data-migration-page .required-field-chip{font-size:.72rem;padding:.25rem .5rem}.help-modal-overlay{padding:0}.help-modal{border-radius:0;max-height:100vh;height:100vh}.help-modal-header{padding:1rem}.help-modal-title{font-size:1rem}.help-modal-content{padding:1rem}.help-section h3{font-size:1.05rem}.help-info-block{padding:.875rem}.help-code-block pre{font-size:.68rem;padding:.625rem}.help-mapping-table{font-size:.75rem}.help-mapping-table th,.help-mapping-table td{padding:.35rem .5rem}}.data-migration-page .load-more-errors-wrapper{display:flex;justify-content:center;padding:.75rem 0 .25rem}.data-migration-page .load-more-errors-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem 1.25rem;font-size:.8rem;font-weight:500;color:var(--primary-color);background:transparent;border:1px solid var(--primary-color);border-radius:var(--radius-md, 8px);cursor:pointer;transition:background .2s ease,color .2s ease}.data-migration-page .load-more-errors-btn:hover:not(:disabled){background:#3b82f60f}.data-migration-page .load-more-errors-btn:disabled{opacity:.6;cursor:not-allowed}.email-dashboard{padding:24px;max-width:1400px;margin:0 auto}.email-dashboard .page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;gap:16px;flex-wrap:wrap}.email-dashboard .header-content{display:flex;align-items:center;gap:16px}.email-dashboard .header-actions{display:flex;align-items:center;gap:12px}.email-dashboard .header-icon{width:56px;height:56px;background:linear-gradient(135deg,#00a1f6,#07c);border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff}.email-dashboard .page-header h1{margin:0;font-size:24px;font-weight:600;color:#1a1a1a}.email-dashboard .page-header p{margin:4px 0 0;color:#666;font-size:14px}.email-dashboard .page-header .btn{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:color .2s,background-color .2s,border-color .2s,box-shadow .2s,opacity .2s,transform .2s}.email-dashboard .page-header .btn-secondary{background:#fff;border:1px solid #ddd;color:#555}.email-dashboard .page-header .btn-secondary:hover{background:#f5f5f5;border-color:#ccc}.email-dashboard .page-header .btn-primary{background:linear-gradient(135deg,#00a1f6,#07c);border:none;color:#fff}.email-dashboard .page-header .btn-primary:hover{background:linear-gradient(135deg,#009de0,#006bb8);transform:translateY(-1px)}.email-dashboard .stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.email-dashboard .stat-card{background:#fff;border-radius:12px;padding:20px;display:flex;align-items:center;gap:16px;box-shadow:0 1px 3px #0000001a;border:1px solid #eee}.email-dashboard .stat-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center}.email-dashboard .stat-icon.sent{background:#eff6ff;color:#3b82f6}.email-dashboard .stat-icon.total{background:#dcfce7;color:#16a34a}.email-dashboard .stat-icon.queued{background:#fef3c7;color:#d97706}.email-dashboard .stat-icon.failed{background:#fef2f2;color:#dc2626}.email-dashboard .stat-content{display:flex;flex-direction:column}.email-dashboard .stat-value{font-size:28px;font-weight:700;color:#1a1a1a;line-height:1}.email-dashboard .stat-label{font-size:13px;color:#666;margin-top:4px}.email-dashboard .filters-bar{display:flex;gap:12px;margin-bottom:20px;flex-wrap:wrap}.email-dashboard .search-input{flex:1;min-width:250px;display:flex;align-items:center;gap:10px;padding:10px 14px;background:#fff;border:1px solid #ddd;border-radius:8px;transition:border-color .2s}.email-dashboard .search-input:focus-within{border-color:#00a1f6}.email-dashboard .search-input input{flex:1;border:none;outline:none;font-size:14px}.email-dashboard .search-input input::placeholder{color:#aaa}.email-dashboard .search-input svg{color:#888}.email-dashboard .clear-btn{background:none;border:none;padding:4px;cursor:pointer;color:#888;border-radius:4px}.email-dashboard .clear-btn:hover{background:#f0f0f0;color:#333}.email-dashboard .filter-group{display:flex;align-items:center;gap:8px;padding:0 14px;background:#fff;border:1px solid #ddd;border-radius:8px}.email-dashboard .filter-group svg{color:#888}.email-dashboard .filter-group select{border:none;outline:none;padding:10px 8px;font-size:14px;background:transparent;cursor:pointer;min-width:120px}.email-table-container{background:#fff;border-radius:12px;border:1px solid #eee;overflow:hidden;box-shadow:0 1px 3px #0000001a}.email-dashboard .loading-state,.email-dashboard .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 24px;color:#888}.email-dashboard .loading-state svg,.email-dashboard .empty-state svg{color:#ccc;margin-bottom:16px}.email-dashboard .empty-state h3{margin:0 0 8px;color:#555}.email-dashboard .empty-state p{margin:0;font-size:14px}.email-table{width:100%;border-collapse:collapse}.email-table th{text-align:left;padding:14px 16px;font-size:12px;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.5px;background:#f8f9fa;border-bottom:1px solid #eee}.email-table td{padding:14px 16px;border-bottom:1px solid #eee;font-size:14px}.email-table tr:last-child td{border-bottom:none}.email-table tr:hover{background:#f8f9fa}.email-dashboard .status-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:500}.email-dashboard .recipients-cell{display:flex;flex-wrap:wrap;gap:4px}.email-dashboard .recipient-tag{display:inline-block;padding:2px 8px;background:#f0f0f0;border-radius:4px;font-size:12px;color:#555;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.email-dashboard .recipient-more{padding:2px 6px;background:#e0e0e0;border-radius:4px;font-size:11px;color:#666}.email-dashboard .subject-text{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;max-width:300px;color:#333}.email-dashboard .type-badge{display:inline-block;padding:2px 8px;background:#f0f0f0;border-radius:4px;font-size:12px;color:#666}.email-dashboard .date-text{color:#888;font-size:13px;white-space:nowrap}.email-dashboard .action-buttons{display:flex;gap:8px}.email-dashboard .action-btn{width:32px;height:32px;border:none;border-radius:6px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:color .2s,background-color .2s,border-color .2s,box-shadow .2s,opacity .2s,transform .2s}.email-dashboard .action-btn.view{background:#eff6ff;color:#3b82f6}.email-dashboard .action-btn.view:hover{background:#dbeafe}.email-dashboard .action-btn.resend{background:#fef3c7;color:#d97706}.email-dashboard .action-btn.resend:hover:not(:disabled){background:#fde68a}.email-dashboard .action-btn:disabled{opacity:.5;cursor:not-allowed}.email-dashboard .pagination{display:flex;align-items:center;justify-content:space-between;padding:16px;background:#fff;border-radius:12px;margin-top:16px;box-shadow:0 1px 3px #0000001a}.email-dashboard .pagination-info{font-size:13px;color:#666}.email-dashboard .pagination-buttons{display:flex;align-items:center;gap:8px}.email-dashboard .pagination-buttons button{width:36px;height:36px;border:1px solid #ddd;background:#fff;border-radius:6px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:color .2s,background-color .2s,border-color .2s,box-shadow .2s,opacity .2s,transform .2s}.email-dashboard .pagination-buttons button:hover:not(:disabled){background:#f0f0f0;border-color:#ccc}.email-dashboard .pagination-buttons button:disabled{opacity:.5;cursor:not-allowed}.email-dashboard .page-number{padding:0 12px;font-size:14px;color:#555}.email-dashboard .preview-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:24px}.email-dashboard .preview-modal{background:#fff;border-radius:12px;width:100%;max-width:800px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 60px #0003}.email-dashboard .preview-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #eee}.email-dashboard .preview-header h3{margin:0;font-size:18px;font-weight:600}.email-dashboard .close-btn{background:none;border:none;padding:8px;cursor:pointer;color:#666;border-radius:6px}.email-dashboard .close-btn:hover{background:#f0f0f0}.email-dashboard .preview-meta{padding:16px 20px;background:#f8f9fa;border-bottom:1px solid #eee}.email-dashboard .meta-row{display:flex;gap:8px;font-size:13px;margin-bottom:6px}.email-dashboard .meta-row:last-child{margin-bottom:0}.email-dashboard .meta-label{color:#666;min-width:60px;font-weight:500}.email-dashboard .meta-row.error{color:#dc2626}.email-dashboard .preview-content{flex:1;overflow:hidden}.email-dashboard .preview-content iframe{width:100%;height:500px;border:none}.email-dashboard .no-preview{display:flex;flex-direction:column;align-items:center;justify-content:center;height:300px;color:#888}.email-dashboard .no-preview svg{color:#ccc;margin-bottom:16px}.email-dashboard .spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 1024px){.email-dashboard .stats-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.email-dashboard{padding:16px}.email-dashboard .stats-grid{grid-template-columns:1fr}.email-dashboard .filters-bar{flex-direction:column}.email-dashboard .search-input{min-width:100%}.email-dashboard .email-table-container{overflow-x:auto}.email-dashboard .email-table{min-width:700px}.email-dashboard .preview-modal{max-width:100%;margin:10px}}.test-email-modal{background:#fff;border-radius:12px;width:100%;max-width:500px;overflow:hidden;box-shadow:0 20px 60px #0003;animation:slideUp .2s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.test-email-modal .preview-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #eee}.test-email-modal .preview-header h3{display:flex;align-items:center;gap:10px;margin:0;font-size:18px;font-weight:600;color:#1a1a1a}.test-email-modal .preview-header h3 svg{color:#00a1f6}.test-email-body{padding:20px}.test-description{margin:0 0 20px;font-size:14px;color:#666;line-height:1.5}.test-email-body .form-group{margin-bottom:16px}.test-email-body .form-group label{display:block;font-size:13px;font-weight:600;color:#555;margin-bottom:6px}.test-email-body .form-input,.test-email-body .form-select{width:100%;padding:10px 14px;border:1px solid #ddd;border-radius:8px;font-size:14px;transition:border-color .2s;background:#fff}.test-email-body .form-input:focus,.test-email-body .form-select:focus{outline:none;border-color:#00a1f6}.test-email-body .form-select{cursor:pointer}.template-description{margin:6px 0 0;font-size:12px;color:#888}.test-result{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:8px;font-size:14px;margin-top:16px}.test-result.success{background:#dcfce7;color:#16a34a}.test-result.error{background:#fef2f2;color:#dc2626}.test-email-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 20px;border-top:1px solid #eee;background:#f8f9fa}.test-email-footer .btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:color .2s,background-color .2s,border-color .2s,box-shadow .2s,opacity .2s,transform .2s}.test-email-footer .btn-secondary{background:#fff;border:1px solid #ddd;color:#555}.test-email-footer .btn-secondary:hover{background:#f5f5f5}.test-email-footer .btn-primary{background:linear-gradient(135deg,#00a1f6,#07c);border:none;color:#fff}.test-email-footer .btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#009de0,#006bb8)}.test-email-footer .btn-primary:disabled{opacity:.6;cursor:not-allowed}.projects-list-page .projects-row{cursor:pointer;transition:background .15s ease}.projects-list-page .projects-row:hover{background:var(--bg-tertiary)}.projects-list-page .muted{color:var(--text-tertiary);font-style:italic}.projects-list-page .empty-state-inner{display:flex;flex-direction:column;align-items:center;gap:12px;padding:48px 16px;color:var(--text-secondary)}.projects-list-page .empty-state-inner h3{margin:0;font-size:16px;color:var(--text-primary)}.projects-list-page .empty-state-inner p{margin:0;font-size:14px;color:var(--text-secondary)}.projects-mobile-cards{display:none}.project-mobile-card{width:100%;text-align:left;background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-md);padding:12px;margin-bottom:8px;cursor:pointer;transition:background .15s ease,border-color .15s ease}.project-mobile-card:hover,.project-mobile-card:focus-visible{background:var(--bg-secondary);border-color:var(--primary-300)}.project-mobile-card-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.project-mobile-card-title{font-weight:600;color:var(--text-primary);margin-bottom:6px}.project-mobile-card-meta{display:flex;flex-direction:column;gap:2px;font-size:13px;color:var(--text-secondary)}@media (max-width: 640px){.projects-list-page .desktop-table{display:none}.projects-mobile-cards{display:block;padding:8px}}.project-form-page .project-form{display:flex;flex-direction:column;gap:16px;max-width:720px}.project-form-card{background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);padding:20px;display:flex;flex-direction:column;gap:14px}.project-form-card-title{margin:0 0 4px;font-size:15px;font-weight:600;color:var(--text-primary)}.project-form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.project-form-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:8px}@media (max-width: 640px){.project-form-row{grid-template-columns:1fr}.project-form-actions{flex-direction:column-reverse}.project-form-actions .btn{width:100%;justify-content:center}}.project-form-card-hint{color:var(--text-secondary);font-size:.85rem;margin:-8px 0 12px}.proposal-picker-list{display:flex;flex-direction:column;gap:6px;max-height:240px;overflow-y:auto;border:1px solid var(--border-primary);border-radius:var(--radius-md);padding:8px;background:var(--bg-secondary)}.proposal-picker-item{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:var(--radius-sm);cursor:pointer;transition:background .15s ease}.proposal-picker-item:hover{background:var(--bg-tertiary)}.proposal-picker-item input[type=checkbox]{margin:0}.proposal-picker-name{color:var(--text-primary);font-size:.875rem}.proposal-picker-client{color:var(--text-tertiary);font-size:.825rem}.project-detail-page .project-detail-title-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:6px}.project-detail-actions{display:flex;gap:8px;flex-wrap:wrap}.project-detail-description{background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);padding:14px 16px;color:var(--text-secondary);margin-bottom:16px;white-space:pre-wrap}.project-detail-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.project-stat-card{display:flex;gap:12px;background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);padding:14px;align-items:flex-start}.project-stat-icon{flex:0 0 36px;width:36px;height:36px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:#fff}.project-stat-info{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.project-stat-value{font-size:20px;font-weight:700;color:var(--text-primary);line-height:1.1}.project-stat-label{font-size:12px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.project-stat-sub{font-size:12px;color:var(--text-tertiary)}.project-burn-bar{margin-top:6px;height:6px;border-radius:var(--radius-full);background:var(--bg-tertiary);overflow:hidden}.project-burn-fill{height:100%;transition:width .25s ease}.project-burn-fill--success{background:var(--success-500)}.project-burn-fill--warning{background:var(--warning-500)}.project-burn-fill--error{background:var(--error-500)}.project-burn-fill--secondary{background:var(--border-secondary)}.project-detail-tabs{display:flex;gap:4px;border-bottom:1px solid var(--border-primary);margin-bottom:0}.project-detail-tab{display:inline-flex;align-items:center;gap:6px;background:transparent;border:none;color:var(--text-secondary);padding:10px 14px;cursor:pointer;font-size:14px;font-weight:500;border-bottom:2px solid transparent;transition:color .15s ease,border-color .15s ease}.project-detail-tab:hover{color:var(--text-primary)}.project-detail-tab.is-active{color:var(--primary-600);border-bottom-color:var(--primary-500)}.project-detail-page .admin-card{margin-top:0}.project-note-cell{max-width:360px;white-space:pre-wrap;color:var(--text-secondary)}@media (max-width: 900px){.project-detail-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 640px){.project-detail-stats{grid-template-columns:1fr}.project-detail-actions{width:100%}.project-detail-actions .btn{flex:1;justify-content:center}}.add-time-entry-form{display:flex;flex-direction:column;gap:12px}.add-time-entry-footer{display:flex;justify-content:flex-end;gap:8px}.add-time-entry-warning{display:flex;gap:10px;align-items:flex-start;background:var(--warning-50, #fff8e1);border:1px solid var(--warning-200, #ffe0a0);color:var(--warning-800, #8a6d3b);border-radius:var(--radius-md);padding:10px 12px;font-size:13px}.add-time-entry-warning svg{flex-shrink:0;margin-top:2px}@media (max-width: 640px){.add-time-entry-footer{flex-direction:column-reverse}.add-time-entry-footer .btn{width:100%;justify-content:center}}.my-timesheet-page .my-timesheet-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px}.my-timesheet-stat{background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);padding:14px 16px;display:flex;flex-direction:column;gap:4px}.my-timesheet-stat-label{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary)}.my-timesheet-stat-value{font-size:22px;font-weight:700;color:var(--text-primary)}.my-timesheet-body{display:grid;grid-template-columns:260px 1fr;gap:16px;align-items:flex-start}.my-timesheet-filters{background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);padding:16px;display:flex;flex-direction:column;gap:12px;position:sticky;top:16px}.my-timesheet-filters-title{margin:0 0 4px;font-size:14px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary)}.my-timesheet-filters .btn{justify-content:center}.my-timesheet-list{min-width:0}.my-timesheet-project-cell{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.my-timesheet-project-name{color:var(--text-primary);font-weight:500}.my-timesheet-note-cell{max-width:360px;white-space:pre-wrap;color:var(--text-secondary)}.my-timesheet-page .empty-state-inner{display:flex;flex-direction:column;align-items:center;gap:12px;padding:48px 16px;color:var(--text-secondary)}.my-timesheet-page .empty-state-inner h3{margin:0;font-size:16px;color:var(--text-primary)}@media (max-width: 900px){.my-timesheet-body{grid-template-columns:1fr}.my-timesheet-filters{position:static}}@media (max-width: 640px){.my-timesheet-page .my-timesheet-stats{grid-template-columns:1fr}}.exec-dashboard-page .exec-dashboard-header-actions{display:flex;gap:8px}.exec-dashboard-period{background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);padding:14px 16px;margin-bottom:16px;display:flex;flex-direction:column;gap:12px}.exec-dashboard-presets{display:flex;flex-wrap:wrap;gap:6px}.exec-period-btn{background:var(--bg-secondary);border:1px solid var(--border-primary);color:var(--text-primary);border-radius:var(--radius-full);padding:6px 14px;font-size:13px;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.exec-period-btn:hover{background:var(--bg-tertiary)}.exec-period-btn.is-active{background:var(--primary-500);border-color:var(--primary-500);color:#fff}.exec-dashboard-custom-range{display:grid;grid-template-columns:1fr 1fr;gap:12px}.exec-dashboard-range-summary{font-size:13px;color:var(--text-secondary)}.exec-dashboard-grid{display:grid;grid-template-columns:1fr;gap:16px}.exec-widget{background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);padding:16px}.exec-widget-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px;flex-wrap:wrap}.exec-widget-title{margin:0;font-size:15px;font-weight:600;color:var(--text-primary)}.exec-widget-subtitle{margin:2px 0 0;font-size:12px;color:var(--text-secondary)}.exec-widget-body{min-height:120px}.exec-widget-loading{display:flex;align-items:center;justify-content:center;gap:8px;padding:32px 0;color:var(--text-secondary)}.exec-widget-empty{padding:32px 0;text-align:center;color:var(--text-secondary)}.burn-row{cursor:pointer;transition:background .15s ease}.burn-row:hover{background:var(--bg-tertiary)}.burn-progress{width:100%;height:8px;background:var(--bg-tertiary);border-radius:var(--radius-full);overflow:hidden;position:relative}.burn-progress-fill{height:100%;transition:width .3s ease}.burn-progress-fill--success{background:var(--success-500)}.burn-progress-fill--warning{background:var(--warning-500)}.burn-progress-fill--error{background:var(--error-500)}.burn-progress-fill--secondary{background:var(--border-secondary)}.burn-pct{font-weight:600}.burn-pct--success{color:var(--success-600)}.burn-pct--warning{color:var(--warning-700)}.burn-pct--error{color:var(--error-600)}.utilization-filter{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.utilization-filter-chip{background:var(--bg-secondary);border:1px solid var(--border-primary);padding:4px 10px;border-radius:var(--radius-full);font-size:12px;cursor:pointer;transition:background .15s ease}.utilization-filter-chip.is-active{background:var(--primary-500);border-color:var(--primary-500);color:#fff}.trend-controls{display:flex;gap:6px;flex-wrap:wrap}.trend-control{display:inline-flex;align-items:center;gap:4px;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-full);padding:4px 10px;font-size:12px;cursor:pointer}.trend-control.is-active{background:var(--primary-500);border-color:var(--primary-500);color:#fff}@media (max-width: 640px){.exec-dashboard-custom-range{grid-template-columns:1fr}}.payroll-detail{max-width:1400px;margin:0 auto}.payroll-action-bar{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-5);flex-wrap:wrap}.payroll-warnings-banner{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-5);background:var(--warning-50);border:1px solid var(--warning-200);border-radius:var(--radius-md);color:var(--warning-800);font-size:var(--text-sm);font-weight:var(--font-medium)}.payroll-detail-grid{display:grid;grid-template-columns:1fr 320px;gap:var(--space-4)}@media (max-width: 1024px){.payroll-detail-grid{grid-template-columns:1fr}}.payroll-card-header{padding:var(--space-4);border-bottom:1px solid var(--border-primary)}.payroll-card-header h3{margin:0;font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--text-primary)}.payroll-history-card{background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-xl);overflow:hidden;height:fit-content}.payroll-timeline{list-style:none;padding:var(--space-4);margin:0;position:relative}.payroll-timeline:before{content:"";position:absolute;top:var(--space-5);bottom:var(--space-5);left:calc(var(--space-4) + 6px);width:1px;background:var(--border-primary)}.payroll-timeline-item{position:relative;padding-left:var(--space-5);padding-bottom:var(--space-4)}.payroll-timeline-item:last-child{padding-bottom:0}.payroll-timeline-dot{position:absolute;left:0;top:6px;width:13px;height:13px;border-radius:var(--radius-full);background:var(--primary-500);border:2px solid var(--bg-primary);z-index:1}.payroll-timeline-content{font-size:var(--text-sm)}.payroll-timeline-action{font-weight:var(--font-semibold);color:var(--text-primary);text-transform:capitalize}.payroll-timeline-meta{display:flex;flex-wrap:wrap;gap:var(--space-3);color:var(--text-tertiary);font-size:var(--text-xs);margin-top:2px}.payroll-timeline-meta span{display:inline-flex;align-items:center;gap:4px}.payroll-timeline-comment{margin-top:var(--space-1);padding:var(--space-2) var(--space-3);background:var(--bg-secondary);border-left:2px solid var(--primary-300);border-radius:var(--radius-sm);color:var(--text-secondary);font-style:italic;font-size:var(--text-xs)}.payroll-item-edit{max-width:1200px;margin:0 auto}.payroll-item-grid{display:grid;grid-template-columns:380px 1fr;gap:var(--space-4)}@media (max-width: 1024px){.payroll-item-grid{grid-template-columns:1fr}}.payroll-item-card{background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-xl);overflow:hidden;height:fit-content}.payroll-snapshot{margin:0;padding:var(--space-4);display:grid;gap:var(--space-2)}.payroll-snapshot>div{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-3);font-size:var(--text-sm)}.payroll-snapshot dt{color:var(--text-tertiary);font-weight:var(--font-medium)}.payroll-snapshot dd{margin:0;color:var(--text-primary);font-weight:var(--font-medium);text-align:right}.payroll-snapshot-strong{font-weight:var(--font-semibold)!important;color:var(--text-primary)!important}.payroll-snapshot-net{font-size:var(--text-lg);font-weight:var(--font-bold)!important;color:var(--primary-700)!important}.payroll-snapshot-divider{border:0;border-top:1px solid var(--border-primary);margin:var(--space-2) 0;display:block!important}.pretax-deduction-name{border-left:3px solid var(--success-500)!important}.badge-pretax{background:var(--success-50);color:var(--success-700);border:1px solid var(--success-200);font-size:var(--text-xs);padding:2px 6px;border-radius:var(--radius-sm)}.employee-salary{max-width:1200px;margin:0 auto}.employee-info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4)}@media (max-width: 1024px){.employee-info-grid{grid-template-columns:1fr}}.employee-info-card{background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-xl);padding:var(--space-4)}.employee-info-card h3{margin:0 0 var(--space-3) 0;font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-tertiary);display:flex;align-items:center;gap:var(--space-2);text-transform:uppercase;letter-spacing:.04em}.employee-info-card dl{margin:0;display:grid;gap:var(--space-2)}.employee-info-card dl>div{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);font-size:var(--text-sm)}.employee-info-card dt{color:var(--text-tertiary)}.employee-info-card dd{margin:0;color:var(--text-primary);font-weight:var(--font-medium);text-align:right}.not-found-page{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:2rem;background:linear-gradient(135deg,var(--neutral-50) 0%,var(--neutral-100) 100%);position:relative;overflow:hidden}.not-found-content{text-align:center;position:relative;z-index:2;max-width:500px}.not-found-code{display:flex;justify-content:center;gap:.5rem;margin-bottom:1.5rem}.not-found-code .digit{font-size:6rem;font-weight:800;font-family:var(--font-family-heading);color:var(--primary-500);line-height:1;text-shadow:2px 4px 20px rgba(0,161,246,.25);animation:digitPulse 2s ease-in-out infinite}.not-found-code .digit:nth-child(1){animation-delay:0s}.not-found-code .digit:nth-child(2){animation-delay:.2s}.not-found-code .digit:nth-child(3){animation-delay:.4s}.not-found-code .digit.zero{color:var(--neutral-300);animation:zeroFloat 3s ease-in-out infinite}@keyframes digitPulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}@keyframes zeroFloat{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-8px) rotate(5deg)}}.not-found-title{font-size:1.75rem;font-weight:700;color:var(--text-primary);margin:0 0 .75rem}.not-found-description{font-size:1rem;color:var(--text-secondary);line-height:1.6;margin:0 0 2rem}.not-found-actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin-bottom:2.5rem}.not-found-help{padding-top:1.5rem;border-top:1px solid var(--border-primary)}.not-found-help p{font-size:.875rem;color:var(--text-tertiary);margin:0 0 .75rem}.help-links{display:flex;gap:1rem;justify-content:center}.help-link{display:inline-flex;align-items:center;gap:.375rem;font-size:.875rem;color:var(--primary-600);text-decoration:none;transition:color var(--duration-fast) var(--ease-out)}.help-link:hover{color:var(--primary-700);text-decoration:underline}.not-found-bg{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none}.bg-circle{position:absolute;border-radius:50%;background:linear-gradient(135deg,var(--primary-100) 0%,var(--primary-50) 100%);opacity:.5}.bg-circle-1{width:400px;height:400px;top:-100px;right:-100px;animation:floatCircle 20s ease-in-out infinite}.bg-circle-2{width:300px;height:300px;bottom:-50px;left:-50px;animation:floatCircle 25s ease-in-out infinite reverse}.bg-circle-3{width:200px;height:200px;top:50%;left:10%;animation:floatCircle 15s ease-in-out infinite;animation-delay:-5s}@keyframes floatCircle{0%,to{transform:translate(0) scale(1)}25%{transform:translate(20px,-20px) scale(1.05)}50%{transform:translate(-10px,10px) scale(.95)}75%{transform:translate(10px,20px) scale(1.02)}}@media (max-width: 640px){.not-found-code .digit{font-size:4rem}.not-found-title{font-size:1.5rem}.not-found-actions{flex-direction:column}.not-found-actions .btn{width:100%}}
