:root{--primary-color: #2563eb;--primary-hover: #1d4ed8;--primary-light: #dbeafe;--success-color: #10b981;--success-light: #d1fae5;--error-color: #ef4444;--error-light: #fee2e2;--warning-color: #f59e0b;--warning-light: #fef3c7;--warning-bg: #fef3c7;--warning-dark: #92400e;--text-primary: #111827;--text-secondary: #6b7280;--text-muted: #9ca3af;--bg-primary: #ffffff;--bg-secondary: #f9fafb;--bg-tertiary: #f3f4f6;--border-color: #e5e7eb;--border-light: #f3f4f6;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: "Monaco", "Menlo", "Ubuntu 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-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--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;--border-radius-sm: .25rem;--border-radius: .375rem;--border-radius-md: .5rem;--border-radius-lg: .75rem;--border-radius-xl: 1rem;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--transition-fast: .15s ease-in-out;--transition-normal: .2s ease-in-out;--transition-slow: .3s ease-in-out}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);font-size:var(--font-size-base);line-height:1.5;color:var(--text-primary);background-color:var(--bg-secondary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-semibold);line-height:1.25;margin-bottom:var(--spacing-2)}h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-xl)}h4{font-size:var(--font-size-lg)}h5{font-size:var(--font-size-base)}h6{font-size:var(--font-size-sm)}p{margin-bottom:var(--spacing-3);line-height:1.6}.form-group{margin-bottom:var(--spacing-6)}label{display:block;font-weight:var(--font-weight-medium);color:var(--text-primary);margin-bottom:var(--spacing-2);font-size:var(--font-size-sm)}input[type=email],input[type=text],input[type=password],textarea{width:100%;padding:var(--spacing-3);border:1px solid var(--border-color);border-radius:var(--border-radius);font-size:var(--font-size-base);line-height:1.5;background-color:var(--bg-primary);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}input[type=email]:focus,input[type=text]:focus,input[type=password]:focus,textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-light)}input[type=email]:invalid:not(:placeholder-shown),input[type=text]:invalid:not(:placeholder-shown),input[type=password]:invalid:not(:placeholder-shown),textarea:invalid:not(:placeholder-shown),input[type=email].error,input[type=text].error,input[type=password].error,textarea.error{border-color:var(--error-color)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-3) var(--spacing-6);border:1px solid transparent;border-radius:var(--border-radius);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);text-decoration:none;cursor:pointer;transition:all var(--transition-fast);min-height:44px;gap:var(--spacing-2)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background-color:var(--primary-color);color:#fff;border-color:var(--primary-color)}.btn-primary:hover:not(:disabled){background-color:var(--primary-hover);border-color:var(--primary-hover)}.btn-secondary{background-color:var(--bg-primary);color:var(--text-primary);border-color:var(--border-color)}.btn-secondary:hover:not(:disabled){background-color:var(--bg-tertiary)}.btn-outline{background-color:transparent;color:var(--primary-color);border-color:var(--primary-color)}.btn-outline:hover:not(:disabled){background-color:var(--primary-color);color:#fff}.btn-danger{background-color:var(--error-color);color:#fff;border-color:var(--error-color)}.btn-danger:hover:not(:disabled){background-color:#dc2626;border-color:#dc2626}.btn-danger-outline{background-color:transparent;color:var(--error-color);border-color:var(--error-color)}.btn-danger-outline:hover:not(:disabled){background-color:var(--error-color);color:#fff}.spinner{display:none;width:20px;height:20px;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:spin 1s linear infinite}.btn.loading .btn-text{opacity:0}.btn.loading .spinner{display:block}@keyframes spin{to{transform:rotate(360deg)}}.status-message{padding:var(--spacing-3);border-radius:var(--border-radius);font-size:var(--font-size-sm);margin-top:var(--spacing-4);display:none}.status-message.success{background-color:var(--success-light);color:var(--success-color);border:1px solid var(--success-color);display:block}.status-message.error{background-color:var(--error-light);color:var(--error-color);border:1px solid var(--error-color);display:block}.status-message.warning{background-color:var(--warning-light);color:var(--warning-color);border:1px solid var(--warning-color);display:block}.error-message{color:var(--error-color);font-size:var(--font-size-sm);margin-top:var(--spacing-1);display:none}.error-message.show{display:block}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-muted{color:var(--text-muted)}.bg-primary{background-color:var(--bg-primary)}.bg-secondary{background-color:var(--bg-secondary)}.border{border:1px solid var(--border-color)}.border-light{border:1px solid var(--border-light)}.rounded{border-radius:var(--border-radius)}.rounded-lg{border-radius:var(--border-radius-lg)}.shadow{box-shadow:var(--shadow)}.shadow-md{box-shadow:var(--shadow-md)}.hidden{display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-4)}.header{background:var(--bg-primary);border-bottom:1px solid var(--border-light);padding:var(--spacing-4) 0;position:sticky;top:0;z-index:100}.header-content{display:flex;justify-content:space-between;align-items:center}.logo h1{color:var(--primary-color);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);margin:0}.nav{display:flex;align-items:center}.nav-links{display:flex;gap:var(--spacing-6);margin-right:var(--spacing-8)}.nav-link{color:var(--text-secondary);text-decoration:none;font-weight:var(--font-weight-medium);padding:var(--spacing-2) var(--spacing-3);border-radius:6px;transition:all .2s ease}.nav-link:hover,.nav-link.active{color:var(--primary-color);background-color:var(--primary-light)}.user-info{display:flex;align-items:center;gap:var(--spacing-4)}.user-details{display:flex;align-items:center;gap:var(--spacing-2)}.user-email,.credit-display{color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.credit-display.no-credits{color:var(--error-color)}.header .user-info .btn{padding:var(--spacing-2) var(--spacing-3);font-size:var(--font-size-sm);min-height:auto}.footer{background:var(--bg-secondary);border-top:1px solid var(--border-light);padding:var(--spacing-6) 0;margin-top:var(--spacing-16)}.footer-content{display:flex;justify-content:center;align-items:center;gap:var(--spacing-4)}.footer p{color:var(--text-muted);font-size:var(--font-size-sm);margin:0}.footer-link{color:var(--text-muted);font-size:var(--font-size-sm);text-decoration:none;transition:color var(--transition-fast)}.footer-link:hover{color:var(--primary-color)}.main-content{min-height:calc(100vh - 200px);padding:var(--spacing-8) 0}@media (max-width: 768px){.header-content{flex-direction:column;gap:var(--spacing-3)}.nav{flex-direction:column;align-items:center;gap:var(--spacing-3)}.nav-links{display:flex;margin-right:0;justify-content:center;order:2}.user-info{order:1}.user-details{flex-direction:row;gap:var(--spacing-2);align-items:center;flex-wrap:nowrap}.user-email{background:var(--bg-secondary);padding:var(--spacing-2) var(--spacing-3);border-radius:var(--border-radius);font-size:var(--font-size-xs);border:1px solid var(--border-light);white-space:nowrap}.credit-display{font-size:var(--font-size-xs);white-space:nowrap}}@media (max-width: 640px){:root{--font-size-3xl: 1.5rem;--font-size-2xl: 1.25rem}.btn{padding:var(--spacing-4) var(--spacing-5);width:100%}.modal-container{width:95%;max-height:95vh}.modal-header,.modal-content{padding:var(--spacing-4)}.modal-actions{padding:var(--spacing-4);flex-direction:column-reverse}.modal-actions .btn{width:100%}}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;opacity:0;visibility:hidden;transition:all .3s ease}.modal-overlay.show{opacity:1;visibility:visible}.modal-container{background:var(--bg-primary);border-radius:var(--border-radius-xl);box-shadow:var(--shadow-lg);max-width:500px;width:90%;max-height:90vh;overflow:hidden;transform:scale(.9);transition:transform .3s ease}.modal-overlay.show .modal-container{transform:scale(1)}.modal-header{padding:var(--spacing-6);border-bottom:1px solid var(--border-light);display:flex;justify-content:space-between;align-items:center}.modal-header h2{font-size:var(--font-size-xl);color:var(--text-primary);margin:0}.modal-close{background:none;border:none;font-size:1.5rem;color:var(--text-muted);cursor:pointer;padding:var(--spacing-1);border-radius:var(--border-radius);transition:all .2s ease}.modal-close:hover{color:var(--text-primary);background:var(--bg-secondary)}.modal-content{padding:var(--spacing-6);overflow-y:auto}.modal-description{color:var(--text-secondary);font-size:var(--font-size-sm);line-height:1.5;margin-bottom:var(--spacing-4)}.modal-actions{padding:var(--spacing-6);border-top:1px solid var(--border-light);display:flex;justify-content:flex-end;gap:var(--spacing-3)}
