:root{--color-primary-50: #F8F9FA;--color-primary-100: #E9ECEF;--color-primary-200: #DEE2E6;--color-primary-300: #CED4DA;--color-primary-400: #ADB5BD;--color-primary-500: #6C757D;--color-primary-600: #495057;--color-primary-700: #343A40;--color-primary-800: #2B3035;--color-primary-900: #1A1D21;--color-secondary-50: #F0F7F4;--color-secondary-100: #D4EBE1;--color-secondary-200: #B8DFCE;--color-secondary-300: #9CD3BB;--color-secondary-400: #7FC6A8;--color-secondary-500: #5FA888;--color-secondary-600: #4A8A6F;--color-secondary-700: #396C56;--color-secondary-800: #2A4E3E;--color-secondary-900: #1C3127;--color-neutral-50: #FAFAF9;--color-neutral-100: #F5F4F1;--color-neutral-200: #E8E6E1;--color-neutral-300: #D3D0C9;--color-neutral-400: #B8B4AB;--color-neutral-500: #9C988D;--color-neutral-600: #7A7669;--color-neutral-700: #5C5850;--color-neutral-800: #3E3C36;--color-neutral-900: #28261F;--color-accent-50: #FDF8F3;--color-accent-100: #FAEDDD;--color-accent-200: #F5D9B8;--color-accent-300: #E8B87D;--color-accent-400: #D99C52;--color-accent-500: #B8813D;--color-accent-600: #8C6530;--color-accent-700: #6B4E25;--color-accent-800: #4A371A;--color-accent-900: #2E2311;--color-success: #10B981;--color-warning: #F59E0B;--color-error: #EF4444;--color-info: #3B82F6;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--spacing-3xl: 4rem;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: "SF Mono", Monaco, "Cascadia Code", "Roboto Mono", Consolas, "Courier New", monospace;--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-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--radius-sm: .25rem;--radius-md: .375rem;--radius-lg: .5rem;--radius-xl: .75rem;--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);--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .2s cubic-bezier(.4, 0, .2, 1);--transition-slow: .3s cubic-bezier(.4, 0, .2, 1)}*{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;height:100%;font-family:var(--font-sans);font-size:var(--font-size-base);line-height:1.5;color:var(--color-primary-900);background-color:var(--color-neutral-50);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{width:100%;height:100%}.container{width:100%;max-width:1280px;margin-left:auto;margin-right:auto;padding-left:var(--spacing-lg);padding-right:var(--spacing-lg)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.flex{display:flex}.flex-col{display:flex;flex-direction:column}.items-center{align-items:center}.justify-center{justify-content: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)}.parking-header{background-color:var(--color-primary-900);color:#fff;padding:var(--spacing-lg) var(--spacing-xl);display:flex;justify-content:space-between;align-items:center;box-shadow:var(--shadow-md)}.parking-header-brand{display:flex;align-items:center;gap:12px;font-family:DM Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.parking-header-logo{display:inline-block;height:32px;width:auto;max-width:110px;vertical-align:middle;object-fit:contain}.parking-header-title-wrap{display:flex;flex-direction:column;justify-content:center;line-height:1.15;gap:2px}.parking-header-wordmark{font-family:DM Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:1.375rem;font-weight:700;letter-spacing:-.03em;margin:0;color:#fff}.parking-header-product{font-family:DM Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.6875rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:#ffffffbf}.parking-header-actions{display:flex;align-items:center;gap:var(--spacing-lg);flex-wrap:wrap}.parking-container{max-width:1400px;margin:0 auto;padding:var(--spacing-xl)}.parking-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-xl);margin-bottom:var(--spacing-2xl)}.parking-manual-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-xl)}.parking-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-lg);margin-bottom:var(--spacing-2xl)}.parking-stat-card{background:#fff;border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-md);transition:all var(--transition-base)}.parking-stat-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.parking-stat-label{font-size:var(--font-size-sm);color:var(--color-neutral-600);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--spacing-xs)}.parking-stat-value{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-primary-900)}.parking-sessions-table{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow:hidden}.parking-table{width:100%;border-collapse:collapse}.parking-table thead{background-color:var(--color-neutral-100)}.parking-table th{text-align:left;padding:var(--spacing-md);font-weight:var(--font-weight-semibold);color:var(--color-neutral-700);font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.5px}.parking-table td{padding:var(--spacing-md);border-top:1px solid var(--color-neutral-200)}.parking-table tbody tr{transition:background-color var(--transition-fast);cursor:pointer}.parking-table tbody tr:hover{background-color:var(--color-neutral-50)}.parking-status-badge{display:inline-block;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:.5px}.parking-status-pending{background-color:var(--color-neutral-200);color:var(--color-neutral-700)}.parking-status-validating,.parking-status-creating{background-color:#fef3c7;color:#92400e}.parking-status-completed{background-color:#d1fae5;color:#065f46}.parking-status-failed{background-color:#fee2e2;color:#991b1b}.parking-log-stream{background:var(--color-primary-900);color:#0f0;font-family:var(--font-mono);font-size:var(--font-size-sm);padding:var(--spacing-lg);border-radius:var(--radius-lg);height:300px;overflow-y:auto;box-shadow:var(--shadow-lg);margin-top:var(--spacing-xl)}.parking-log-line{margin-bottom:var(--spacing-xs);line-height:1.5}.parking-log-time{color:#666;margin-right:var(--spacing-sm)}.parking-log-level-info{color:#0f0}.parking-log-level-warning{color:var(--color-warning)}.parking-log-level-error{color:var(--color-error)}.parking-log-level-success{color:#0f0;font-weight:var(--font-weight-bold)}.parking-form{background:#fff;border-radius:var(--radius-lg);padding:var(--spacing-xl);box-shadow:var(--shadow-md);max-width:600px}.parking-form-group{margin-bottom:var(--spacing-lg)}.parking-form-label{display:block;font-weight:var(--font-weight-medium);margin-bottom:var(--spacing-sm);color:var(--color-primary-900)}.parking-form-input,.parking-form-textarea{width:100%;padding:var(--spacing-md);border:1px solid var(--color-neutral-300);border-radius:var(--radius-md);font-size:var(--font-size-base);font-family:var(--font-sans);transition:all var(--transition-base)}.parking-form-input:focus,.parking-form-textarea:focus{outline:none;border-color:var(--color-secondary-500);box-shadow:0 0 0 3px #5fa8881a}.parking-form-textarea{resize:vertical;min-height:100px}.parking-form-checkbox{display:flex;align-items:center;gap:var(--spacing-sm)}.parking-form-checkbox input{width:18px;height:18px}.parking-button{background-color:var(--color-secondary-500);color:#fff;padding:var(--spacing-md) var(--spacing-xl);border:none;border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base)}.parking-button:hover{background-color:var(--color-secondary-600);transform:translateY(-1px);box-shadow:var(--shadow-md)}.parking-button:disabled{background-color:var(--color-neutral-300);cursor:not-allowed;transform:none}.parking-button-primary{background-color:var(--color-primary-800)}.parking-button-primary:hover{background-color:var(--color-primary-900)}.parking-button-danger{background-color:var(--color-error)}.parking-button-danger:hover{background-color:#dc2626}.parking-loading{display:flex;justify-content:center;align-items:center;padding:var(--spacing-2xl)}.parking-spinner{border:3px solid var(--color-neutral-200);border-top:3px solid var(--color-secondary-500);border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite}.parking-error{background-color:#fee2e2;color:#991b1b;padding:var(--spacing-md);border-radius:var(--radius-md);margin-bottom:var(--spacing-lg);border-left:4px solid var(--color-error)}.parking-success{background-color:#d1fae5;color:#065f46;padding:var(--spacing-md);border-radius:var(--radius-md);margin-bottom:var(--spacing-lg);border-left:4px solid var(--color-success)}.parking-nav{background-color:var(--color-primary-800);padding:var(--spacing-md) var(--spacing-xl);display:flex;gap:var(--spacing-lg)}.parking-nav a{color:#fff;text-decoration:none;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);transition:all var(--transition-base)}.parking-nav a:hover{background-color:var(--color-primary-700)}.parking-nav a.active{background-color:var(--color-secondary-500)}.parking-filters{background:#fff;padding:var(--spacing-lg);border-radius:var(--radius-lg);margin-bottom:var(--spacing-lg);display:flex;gap:var(--spacing-md);align-items:end;flex-wrap:wrap}.parking-filter-group{flex:1;min-width:200px}.parking-vrm{font-family:var(--font-mono);font-weight:var(--font-weight-bold);color:var(--color-primary-900)}.parking-pagination{display:flex;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-lg)}.parking-pagination button{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-neutral-300);background:#fff;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base)}.parking-pagination button:hover:not(:disabled){background-color:var(--color-neutral-100);border-color:var(--color-neutral-400)}.parking-pagination button:disabled{opacity:.5;cursor:not-allowed}.parking-pagination button.active{background-color:var(--color-secondary-500);color:#fff;border-color:var(--color-secondary-500)}.parking-card{background:#fff;border-radius:var(--radius-lg);padding:var(--spacing-2xl);box-shadow:var(--shadow-md);border:1px solid var(--color-neutral-200)}.parking-card h2{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-primary-900);margin:0 0 var(--spacing-xl);padding-bottom:var(--spacing-md);border-bottom:2px solid var(--color-secondary-200);letter-spacing:-.02em}.parking-card h3{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-primary-800);margin:0 0 var(--spacing-md)}.parking-label{display:block;font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);color:var(--color-primary-800);margin-bottom:var(--spacing-sm);letter-spacing:.01em}.parking-input{width:100%;max-width:420px;padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-base);font-family:var(--font-sans);border:1px solid var(--color-neutral-300);border-radius:var(--radius-md);background:#fff;color:var(--color-primary-900);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.parking-input:hover:not(:disabled){border-color:var(--color-neutral-400)}.parking-input:focus{outline:none;border-color:var(--color-secondary-500);box-shadow:0 0 0 3px #5fa88826}.parking-input:disabled{background:var(--color-neutral-100);cursor:not-allowed;opacity:.8}.parking-input::placeholder{color:var(--color-neutral-500)}.parking-help{font-size:var(--font-size-sm);color:var(--color-neutral-600);margin-top:var(--spacing-xs);line-height:1.5}.parking-divider{height:1px;background:linear-gradient(to right,transparent,var(--color-neutral-200),transparent);border:none}.parking-error-banner{padding:var(--spacing-md) var(--spacing-lg);background:#fef2f2;color:#991b1b;border-radius:var(--radius-md);border-left:4px solid var(--color-error);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.parking-settings-section{margin-bottom:var(--spacing-2xl);padding:var(--spacing-lg);background:var(--color-neutral-50);border-radius:var(--radius-lg);border:1px solid var(--color-neutral-200)}.parking-settings-section-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-primary-700);margin-bottom:var(--spacing-sm);text-transform:uppercase;letter-spacing:.05em}.parking-checkbox-row{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm) 0;cursor:pointer;transition:background var(--transition-fast);border-radius:var(--radius-md);margin:0 calc(-1 * var(--spacing-sm));padding-left:var(--spacing-sm);padding-right:var(--spacing-sm)}.parking-checkbox-row:hover{background:#00000008}.parking-checkbox-row input[type=checkbox]{width:18px;height:18px;accent-color:var(--color-secondary-600);cursor:pointer;flex-shrink:0}.parking-checkbox-row span{font-size:var(--font-size-sm);color:var(--color-primary-800)}.parking-how-it-works{background:linear-gradient(135deg,var(--color-primary-50) 0%,var(--color-neutral-50) 100%);padding:var(--spacing-xl);border-radius:var(--radius-lg);border:1px solid var(--color-neutral-200)}.parking-how-it-works ol{font-size:var(--font-size-sm);color:var(--color-neutral-700);padding-left:var(--spacing-lg);line-height:1.7;margin:0}.parking-how-it-works li{margin-bottom:var(--spacing-sm)}.parking-how-it-works li:last-child{margin-bottom:0}.parking-how-it-works code{background:var(--color-neutral-200);padding:2px 8px;border-radius:var(--radius-sm);font-size:.9em;font-family:var(--font-mono);color:var(--color-primary-800)}.parking-current-domain{margin-top:var(--spacing-xl);padding:var(--spacing-lg);background:linear-gradient(135deg,var(--color-secondary-50) 0%,var(--color-secondary-100) 100%);border:1px solid var(--color-secondary-200);border-radius:var(--radius-lg);font-size:var(--font-size-sm);color:var(--color-secondary-800);font-weight:var(--font-weight-medium)}.parking-success-banner{padding:var(--spacing-md) var(--spacing-lg);background:#ecfdf5;color:#065f46;border-radius:var(--radius-md);border-left:4px solid var(--color-success);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);margin-bottom:var(--spacing-md)}.parking-save-row{margin-top:var(--spacing-xl);padding-top:var(--spacing-lg);border-top:1px solid var(--color-neutral-200)}.parking-save-row .parking-button{min-width:140px;padding:var(--spacing-md) var(--spacing-xl);font-size:var(--font-size-base)}@media(max-width:768px){.parking-header{padding:var(--spacing-md) var(--spacing-lg);flex-wrap:wrap;gap:var(--spacing-sm)}.parking-header-brand{gap:8px}.parking-header-logo{height:28px;max-width:90px}.parking-header-wordmark{font-size:1.15rem}.parking-header-product{font-size:.6rem}.parking-header-actions{width:100%;justify-content:flex-end;gap:var(--spacing-sm);font-size:var(--font-size-xs)}.parking-header-actions a,.parking-header-actions span{font-size:var(--font-size-xs)!important}.parking-nav{padding:var(--spacing-sm) var(--spacing-md);gap:var(--spacing-sm);overflow-x:auto;-webkit-overflow-scrolling:touch;flex-wrap:nowrap}.parking-nav a{white-space:nowrap;padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm)}.parking-container{padding:var(--spacing-md)}.parking-stats-grid{grid-template-columns:repeat(2,1fr);gap:var(--spacing-md);margin-bottom:var(--spacing-xl)}.parking-stat-card{padding:var(--spacing-md)}.parking-stat-value{font-size:var(--font-size-2xl)}.parking-filters{flex-direction:column;align-items:stretch;gap:var(--spacing-md)}.parking-filter-group{min-width:0}.parking-sessions-table{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 calc(-1 * var(--spacing-md));border-radius:0}.parking-sessions-table .parking-table{min-width:600px}.parking-table th,.parking-table td{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm)}.parking-log-stream{padding:var(--spacing-md);font-size:var(--font-size-xs);height:220px}.parking-form{padding:var(--spacing-lg)}footer{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-xs)}.parking-settings-section{padding:var(--spacing-md)}.parking-how-it-works{padding:var(--spacing-lg)}.parking-card{padding:var(--spacing-xl)}.parking-card h2{font-size:var(--font-size-xl)}.parking-detail-grid,.parking-manual-grid{grid-template-columns:1fr}}@media(max-width:480px){.parking-header-actions .parking-header-meta{display:none}.parking-stats-grid{grid-template-columns:1fr}.parking-sessions-table .parking-table{min-width:500px}.parking-button{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm)}}.attractis-button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-family:var(--font-sans);font-weight:var(--font-weight-medium);border:none;border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease;position:relative;white-space:nowrap}.attractis-button:disabled{opacity:.5;cursor:not-allowed}.attractis-button--sm{padding:.5rem 1rem;font-size:var(--font-size-sm);min-height:36px}.attractis-button--md{padding:.625rem 1.5rem;font-size:var(--font-size-base);min-height:42px}.attractis-button--lg{padding:.75rem 1.75rem;font-size:var(--font-size-lg);min-height:48px}.attractis-button--full-width{width:100%}.attractis-button--primary{background-color:var(--color-primary-800);color:#fff;font-weight:var(--font-weight-semibold);box-shadow:0 1px 2px #0000001a}.attractis-button--primary:hover:not(:disabled){background-color:var(--color-primary-900);box-shadow:0 2px 4px #00000026;transform:translateY(-1px)}.attractis-button--secondary{background-color:var(--color-secondary-600);color:#fff}.attractis-button--secondary:hover:not(:disabled){background-color:var(--color-secondary-700)}.attractis-button--outline{background-color:transparent;color:var(--color-primary-700);border:1.5px solid var(--color-primary-700)}.attractis-button--outline:hover:not(:disabled){background-color:var(--color-primary-50)}.attractis-button--ghost{background-color:transparent;color:var(--color-neutral-700);border:1px solid transparent}.attractis-button--ghost:hover:not(:disabled){background-color:var(--color-neutral-100);color:var(--color-neutral-900);border-color:var(--color-neutral-300)}.attractis-button--danger{background-color:var(--color-error);color:#fff}.attractis-button--danger:hover:not(:disabled){background-color:#dc2626}.attractis-button--loading{pointer-events:none}.attractis-button__spinner{display:inline-block;width:1em;height:1em;animation:spin .8s linear infinite}.attractis-button__spinner svg{width:100%;height:100%}.attractis-button__spinner svg circle{stroke-dasharray:50;stroke-dashoffset:50;animation:spinner-dash 1.5s ease-in-out infinite}.attractis-button__text--loading{opacity:.7}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes spinner-dash{0%{stroke-dashoffset:50}50%{stroke-dashoffset:12.5}to{stroke-dashoffset:50}}.attractis-input-wrapper{display:flex;flex-direction:column;gap:.375rem}.attractis-input-wrapper--full-width{width:100%}.attractis-input-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-primary-900);margin-bottom:var(--spacing-xs);letter-spacing:.01em}.attractis-input-required{color:var(--color-error);margin-left:.25rem}.attractis-input{padding:.75rem 1rem;font-family:var(--font-sans);font-size:var(--font-size-base);color:var(--color-primary-900);background-color:#fff;border:1.5px solid var(--color-neutral-300);border-radius:var(--radius-md);outline:none;transition:all var(--transition-base);width:100%;box-sizing:border-box}.attractis-input::placeholder{color:var(--color-neutral-400)}.attractis-input:hover:not(:disabled){border-color:var(--color-primary-400)}.attractis-input:focus{border-color:var(--color-secondary-500);box-shadow:0 0 0 3px #5fa8881a}.attractis-input:disabled{background-color:var(--color-neutral-100);cursor:not-allowed;opacity:.6}.attractis-input--error{border-color:var(--color-error)}.attractis-textarea{resize:vertical;min-height:100px;font-family:var(--font-sans);line-height:1.5}.attractis-input-error-text{font-size:var(--font-size-sm);color:var(--color-error)}.attractis-input-helper-text{font-size:var(--font-size-xs);color:var(--color-neutral-500);margin-top:var(--spacing-xs);line-height:1.4}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-primary-800) 0%,var(--color-primary-900) 50%,var(--color-secondary-900) 100%);padding:var(--spacing-xl)}.login-container{width:100%;max-width:400px;animation:login-slide-up .4s cubic-bezier(.16,1,.3,1)}@keyframes login-slide-up{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.login-card{background:var(--color-surface, #ffffff);border-radius:var(--radius-lg);padding:var(--spacing-2xl);width:100%;box-shadow:var(--shadow-xl);border:1px solid var(--color-neutral-200)}.login-brand{text-align:center;margin-bottom:var(--spacing-xl)}.login-logo{display:block;height:48px;width:auto;max-width:160px;margin:0 auto var(--spacing-md);object-fit:contain}.login-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-primary-900);margin:0;letter-spacing:-.02em}.login-subtitle{font-size:var(--font-size-sm);color:var(--color-neutral-600);font-weight:var(--font-weight-medium);margin:var(--spacing-xs) 0 0}.login-submit{width:100%;margin-top:var(--spacing-sm)}.login-form{display:flex;flex-direction:column;gap:var(--spacing-lg)}.login-error{padding:var(--spacing-sm) var(--spacing-md);background-color:#fee2e2;color:var(--color-error);border-radius:var(--radius-md);font-size:var(--font-size-sm);text-align:center;animation:shake .3s ease}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}@media(max-width:768px){.login-page{padding:var(--spacing-md)}.login-card{padding:var(--spacing-xl)}}
