*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--color-primary:#4F46E5;--color-primary-hover:#4338CA;--color-bg:#FAFAFA;--color-surface:#FFFFFF;--color-text:#1A1A1A;--color-text-secondary:#6B7280;--color-border:#E5E7EB;--color-error:#DC2626;--color-success:#16A34A;--radius:8px;--shadow:0 1px 3px rgba(0,0,0,0.1);--shadow-md:0 4px 6px rgba(0,0,0,0.1)}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--color-bg);color:var(--color-text);line-height:1.5;-webkit-font-smoothing:antialiased}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}.container{max-width:420px;margin:0 auto;padding:0 16px}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow)}.form-group{margin-bottom:16px}.form-group label{display:block;font-size:14px;font-weight:500;margin-bottom:4px;color:var(--color-text)}.form-group input{width:100%;padding:10px 12px;border:1px solid var(--color-border);border-radius:var(--radius);font-size:16px;transition:border-color .15s}.form-group input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(79,70,229,.1)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 20px;border:none;border-radius:var(--radius);font-size:16px;font-weight:500;cursor:pointer;transition:background-color .15s}.btn-primary{background:var(--color-primary);color:white;width:100%}.btn-primary:hover{background:var(--color-primary-hover)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.error-message{background:#FEF2F2;border:1px solid #fecaca;color:var(--color-error);padding:10px 12px;border-radius:var(--radius);font-size:14px;margin-bottom:16px}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center}.auth-header{text-align:center;margin-bottom:24px}.auth-header h1{font-size:28px;font-weight:700;color:var(--color-primary)}.auth-header p{margin-top:4px}.auth-footer,.auth-header p{color:var(--color-text-secondary);font-size:14px}.auth-footer{text-align:center;margin-top:16px}