:root{--color-primary: #B86AAB;--color-primary-light: #C989BE;--color-primary-dark: #9D4C90;--color-primary-50: rgba(184, 106, 171, .1);--color-primary-100: rgba(184, 106, 171, .2);--color-secondary: #1F1646;--color-secondary-light: #352A5D;--color-secondary-dark: #120D2B;--gradient-primary: linear-gradient(135deg, #B86AAB 0%, #9D4C90 100%);--gradient-hero: linear-gradient(135deg, #1F1646 0%, #352A5D 50%, #B86AAB 100%);--color-white: #FFFFFF;--color-black: #000000;--color-gray-50: #F9FAFB;--color-gray-100: #F3F4F6;--color-gray-200: #E5E7EB;--color-gray-300: #D1D5DB;--color-gray-400: #9CA3AF;--color-gray-500: #6B7280;--color-gray-600: #4B5563;--color-gray-700: #374151;--color-gray-800: #1F2937;--color-gray-900: #111827;--color-success: #10B981;--color-success-light: #34D399;--color-success-dark: #059669;--color-success-bg: #D1FAE5;--color-error: #EF4444;--color-error-light: #F87171;--color-error-dark: #DC2626;--color-error-bg: #FEE2E2;--color-warning: #F59E0B;--color-warning-light: #FBBF24;--color-warning-dark: #D97706;--color-warning-bg: #FEF3C7;--color-info: #3B82F6;--color-info-light: #60A5FA;--color-info-dark: #2563EB;--color-info-bg: #DBEAFE;--primary: var(--color-primary);--primary-hover: var(--color-primary-dark);--secondary: var(--color-secondary);--success: var(--color-success);--warning: var(--color-warning);--error: var(--color-error);--bg-primary: var(--color-white);--bg-secondary: #F8F2FB;--bg-tertiary: #F0E0F4;--border: var(--color-gray-200);--text-primary: var(--color-gray-900);--text-secondary: var(--color-gray-600);--text-tertiary: #9CA3AF;--text-disabled: var(--color-gray-400);--font-family: "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", sans-serif;--font-family-body: "Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", sans-serif;--font-family-mono: "SF Mono", Monaco, "Cascadia Code", "Courier New", monospace;--gradient-button: linear-gradient(135deg, #7C3AED 0%, #EC4899 100%);--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-size-5xl: 3rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--spacing-0: 0;--spacing-1: .25rem;--spacing-2: .5rem;--spacing-3: .75rem;--spacing-4: 1rem;--spacing-5: 1.25rem;--spacing-6: 1.5rem;--spacing-8: 2rem;--spacing-10: 2.5rem;--spacing-12: 3rem;--spacing-16: 4rem;--spacing-20: 5rem;--spacing-24: 6rem;--spacing-xs: var(--spacing-1);--spacing-sm: var(--spacing-2);--spacing-md: var(--spacing-4);--spacing-lg: var(--spacing-6);--spacing-xl: var(--spacing-8);--radius-none: 0;--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--shadow-primary: 0 4px 14px 0 rgba(184, 106, 171, .3);--shadow-inner: inset 0 2px 4px 0 rgba(0, 0, 0, .06);--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease;--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070}*{box-sizing:border-box}body{margin:0;padding:0;font-family:var(--font-family-body);font-size:var(--font-size-base);line-height:var(--line-height-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg-primary);color:var(--text-primary)}h1,h2,h3,h4,h5,h6{font-family:var(--font-family);line-height:1.25}code{font-family:var(--font-family-mono)}button{font-family:inherit;cursor:pointer;border:none;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);transition:all var(--transition-base)}button:disabled{cursor:not-allowed;opacity:.5}.btn-primary{background:var(--primary);color:#fff;padding:.5rem 1rem}.btn-primary:hover:not(:disabled){background:var(--primary-hover)}.btn-secondary{background:var(--bg-tertiary);color:var(--text-primary);padding:.5rem 1rem}.btn-secondary:hover:not(:disabled){background:var(--border)}.btn-danger{background:var(--error);color:#fff;padding:.5rem 1rem}.btn-danger:hover:not(:disabled){background:var(--color-error-dark)}.btn-small{padding:.25rem .75rem;font-size:.75rem}input,textarea{font-family:inherit;border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--spacing-2) var(--spacing-3);font-size:var(--font-size-sm);width:100%;transition:border-color var(--transition-base)}input:focus,textarea:focus{outline:none;border-color:var(--primary)}input:disabled,textarea:disabled{background:var(--bg-tertiary);cursor:not-allowed}button:focus-visible,a:focus-visible{outline:2px solid var(--primary);outline-offset:2px}input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--primary);outline-offset:1px;border-color:var(--primary)}label{display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);margin-bottom:var(--spacing-1);color:var(--text-primary)}.card{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-sm)}.text-center{text-align:center}.text-sm{font-size:var(--font-size-sm)}.text-xs{font-size:var(--font-size-xs)}.text-muted,.share-dialog .text-muted{color:var(--text-secondary)}.text-disabled{color:var(--text-disabled)}.text-error{color:var(--error)}.text-success{color:var(--success)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.badge{display:inline-flex;align-items:center;padding:var(--spacing-1) var(--spacing-2);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);gap:var(--spacing-1)}.badge-success{background:var(--color-success-bg);color:#065f46}.badge-warning{background:var(--color-warning-bg);color:#92400e}.badge-info{background:var(--color-info-bg);color:#1e40af}.badge-disabled{background:var(--bg-tertiary);color:var(--text-disabled)}.spinner{border:2px solid var(--bg-tertiary);border-top-color:var(--primary);border-radius:50%;width:1rem;height:1rem;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes indeterminate{0%{width:0%;margin-left:0%}50%{width:60%;margin-left:20%}to{width:0%;margin-left:100%}}.menu-item:hover{background:var(--bg-secondary)}[data-theme=dark]{--color-primary: #C989BE;--color-primary-light: #D9A6D0;--color-primary-dark: #B86AAB;--color-primary-50: rgba(201, 137, 190, .15);--color-primary-100: rgba(201, 137, 190, .25);--bg-primary: #0F0B1E;--bg-secondary: #1A1332;--bg-tertiary: #231A40;--border: rgba(255, 255, 255, .12);--text-primary: #F3F4F6;--text-secondary: #9CA3AF;--text-tertiary: #6B7280;--text-disabled: #4B5563;--color-gray-50: #1A1332;--color-gray-100: #231A40;--color-gray-200: rgba(255, 255, 255, .12);--color-gray-800: #E5E7EB;--color-gray-900: #F3F4F6;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .4), 0 2px 4px -1px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .5), 0 4px 6px -2px rgba(0, 0, 0, .3);--shadow-primary: 0 4px 14px 0 rgba(124, 58, 237, .4)}[data-theme=dark] input,[data-theme=dark] textarea{background:var(--bg-secondary);color:var(--text-primary);border-color:var(--border)}[data-theme=dark] .card{background:var(--bg-secondary);border-color:var(--border)}[data-theme=dark] .badge-success{background:#10b98126;color:var(--color-success-light)}[data-theme=dark] .badge-warning{background:#f59e0b26;color:var(--color-warning-light)}[data-theme=dark] .badge-info{background:#3b82f626;color:var(--color-info-light)}.glass-card{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:#ffffff14;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-xl)}[data-theme=dark] .glass-card{background:#ffffff0d;border-color:#ffffff14}.nav-rail{width:72px;min-height:100vh;background:var(--color-secondary);display:flex;flex-direction:column;align-items:center;padding:16px 0;transition:width .2s ease;z-index:var(--z-sticky);overflow:hidden}.nav-rail.expanded{width:200px;align-items:flex-start}.nav-rail-item{display:flex;align-items:center;gap:12px;width:48px;height:48px;border-radius:var(--radius-lg);color:#fff9;cursor:pointer;transition:all .15s ease;border:none;background:transparent;justify-content:center;position:relative;overflow:visible;font-family:var(--font-family-body);font-size:var(--font-size-sm);padding:0}.nav-rail.expanded .nav-rail-item{width:calc(100% - 24px);margin:0 12px;justify-content:flex-start;padding:0 12px}.nav-rail-item:hover{background:#ffffff14;color:#ffffffe6}.nav-rail-item.active{background:#7c3aed33;color:var(--color-primary)}.nav-rail-item .nav-label{overflow:hidden;width:0;white-space:nowrap;opacity:0}.nav-rail.expanded .nav-rail-item .nav-label{width:auto;opacity:1}.nav-badge{position:absolute;top:6px;right:6px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:var(--color-error);color:var(--color-white);font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;line-height:1}.nav-rail.expanded .nav-badge{position:static;margin-left:auto}@media (max-width: 600px){.topbar-email{display:none!important}}@media (max-width: 768px){.nav-rail{width:56px!important}.nav-rail .nav-label,.compose-step-label{display:none!important}}@media (max-width: 800px){.signing-form-column{max-width:100%!important;min-width:0!important}}@media (max-width: 640px){.signing-form-column{flex-basis:100%!important}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
